본문 바로가기

인공지능

(7)
[코스모스 9주차] LOSS 모델의 목표는 손실함수를 최소화 함으로써 실제와 비슷한 결과값을 내는 모델을 만들어 내는 것이다!회귀는 연속형 수치인 y를 바로 예측해야한다. 그래서! 회귀에서 자주 사용하는 손실함수는1. MAE 예측 값과 정답 값의 차이에 절댓값을 씌운 후 전부 더해서 개수 N으로 나눠서 평균을 낸 값이다. 이는 그냥 절댓값을 평균 낸것이어서 전체 데이터의 학습된 정도를 파악할 수 있다. 그런데 이제 절대값 때문에 어떤 식으로 오차가 발생했는지, 음수인지 양수인지 판별이 불가능하다. 0을 기준으로 각각 일차함수가 대칭이라서 이동거리가 일정하기 때문에 최적의 값에 수렴하기 어렵다.  2. MSE 예측 값과 실제 값의 차를 제곱하여 개수 N으로 나눠서 평균을 낸 값이다. 제곱 연산으로 인해서 차이가 커질 수록 더 값이 뚜..
[코스모스 8주차] Object Detection, Segmentation single RGB이미지 받아서 감지된 object들의 set을 output으로 내뱉는다. 각각의 object는 category label과 local정보를 나타내는 bounding box를 갖는다.  여기서 모델이 신경써야 하는 점1. object의 개수가 사진마다 다르다. 2. 카테고리와 위치 두 개의 output을 가진다. 3. 상대적으로 고해상도의 이미지를 다룬다.  우선 하나의 object를 갖는 이미지가 들어왔다면? 이미지의 feature vector을 뽑고 여기에서 class score들과 box의 위치를 뽑는다. 이 두개의 loss를 어떻게 잘 조합해서 중요도에 따라 잘 tuning해준다. 이러한 loss를 multi task loss라고 한다.  그런데 이미지당 object가 여러개 있을..
[코스모스 7주차] Self-Supervised Learning 일단 self-supervised learning이 뭐냐면 이미지의 라벨 없이 이미지만 가지고 학습을 하는 것이다. self로 task를 정해서 supervision방식으로 모델을 학습하기 때문에 self-supervised라고 한다.  대량의 이미지를 가지고도 모델 학습이 가능하다. 이렇게 학습하게 된다면 이미지 라벨에 구애받지 않고 이미지의 feature을 잘 뽑아낼 수 있는 encoder을 학습시킬 수 있다.1. Pretext tasks from image transformations이 파트는 그냥 간단한 self-supervised learning인데, 이미지를 변형을 시켜 -> 그리고 우리가 원하는 태스크를 진행시켜 -> 우리는 변형 전의 그림을 알겠지? 그럼 이게 label이 되어서 학습이 진..
[코스모스 6주차] Activation Function 이번 시간에는 Neural Network를 훈련시키기 위한 다양한 요령을 배워보도록 하겠다. 일단 세 가지 설정이 필요하다. 1. 초기 설정 - 활성화 함수의 종류 - 데이터의 전처리 - 가중치의 초기화 - 정규화 2. train단계에서 동적으로 조절하는 것 - learning rate 조절 - Large-Batch 학습 -> mini-batch랑 다른 점은 large batch - 하이퍼 파라미터 조절 3. 추가적인 작업 - 모델 앙상블 - 전이학습 Activation Functions 하나의 뉴런을 확대해서 보여준 그래프 input x와 weights w를 dot product하여 activation func의 input으로 들어가고 1개의 output이 나오는데 이것은 다음 레이어의 input값이 ..
[코스모스 5주차] ATTENTION ~ TRANSFORMER 먼저 ATTENTION이다. 이게 나오게 된 계기는 seq2seq모델을 개선하기 위함인데, 우선 이는 디코더에서 context vector을 가져올 때 인코더의 맨 마지막의 hidden state만을 가져오게 되어서 병목현상이 존재하였고, 이를 해결하기 위해서 매 시점의 encoder hidden state를 보자! 해서 만들어진 모델이다. 이렇게 하면 처음부터 끝까지 문맥을 보고 다음에 나올 단어를 예측할 수 있다. 어떻게 작동하냐면 어느 시점의 인코더 은닉상태에 더 집중해야 하는지 찾기 위해서 현재 디코더의 은닉상태와 각 시점의 인코더의 은닉상태들 간의 유사도를 계산하게 된다. 그리고 이 유사도를 확률의 형태로 바꾸게 되고, 이 확률들에다가 각 인코더의 은닉상태의 가중합을 구해 보정된 context ..
[모각코 3주차] GAN 1. Discriminative Model 데이터 X가 주어졌을 때 레이블 Y가 나타날 조건부 확률 p(Y|X)를 직접적으로 반환하는 모델이다. 레이블 정보가 있어야 하기 때문에 지도학습이며 X의 레이블을 잘 구분하는 결정경계(decision boundary)를 학습하는 것이 목표가 된다. 가정이 단순하고 학습데이터의 양이 충분하면 좋은 성능을 내게 된다. linear, logistic regression은 discriminative model의 예시이다. 2. Generative Model p(x)의 분포를 배운다! 여기에서 x는 데이터를 의미하고 모든 가능한 image들에 대해 분포를 학습하게 된다. 특정 이미지가 존재할 확률을 할당하는데, 이미지의 그럴 듯한 정도에 따라서 확률을 부여하는 것이겠지?..
[코스모스 1주차] Variational Auto-Encoders Variational Auto-Encoders는 PixelRNN이나 PixelCNN처럼 p(x)에 대한 명시적인 밀도함수를 알 수 없다. PixelRNN같은거는 픽셀 값의 조건부 확률로 확률분포를 직접 모델링을 할 수 가 있다. 하지만 VAE는 이미지가 고차원일 때 물리적 요인이나 조명, 시점, 색상 등등 아주 다양한 요인이 이미지의 픽셀값에 영향을 주기 때문에 밀도함수에 접근할 수가 없다. 따라서! 이걸 해결하려는 방안이 뭐냐면 밀도함수의 하한을 최대로 하는 것이다. 이는 실제 밀도함수도 올라갈 것으로 예상할 수 있다. 그래서.. 우선 밀도함수를 직접적으로 접근할 수 없다는 서론이었다. Variational Auto-Encoders에 대해 설명하기 전에 먼저 Auto-Encoder에 대해서 설명하겠다...