Loading...
2022. 2. 11. 21:10

sequence 데이터를 모델링하는 방법

1. sequence data 사건의 발생 순서에 따라 순차적으로 들어오는 데이터 말소리, 문자열, 주가, 비디오, 시계열, 동작(motion) 데이터 독립이고 서로 동등한 분포를 따르지 않는다(iid가 아니다.) 데이터의 순서를 바꾸면 확률분포가 바뀐다. 과거의 정보나 앞뒤의 맥락을 이용하지 않으면 미래를 예측하는 것이 어렵다. 순서에 관한 정보를 어떻게 반영해야할지 어려워 다루기 어려운 데이터이다. 심지어 입력의 차원이 어디까지 될지를 모른다. 바꿔말하면 sequence data를 다룬 모델은 입력의 차원이 다르더라도 동작할 수 있는 모델이어야한다. 2. 조건부확률을 이용한 모델링 sequence data는 이전에 발생한 정보를 이용하므로 이전 사건이 발생했다는 가정하에 현재 데이터가 발생할 확률을 ..

2022. 2. 9. 19:14

transfer learning이란 무엇일까?

1. motivation 지금까지 보지 못한 새로운 인공지능을 만들어야한다고 할 때 데이터부터 준비해야할 것이다. 기본적으로 인공지능은 어마어마한 데이터가 필요한데 입력데이터만 단순히 모으는 것이 아니라 데이터의 label도 필요함 이런 것은 단기간에 모으기 쉽지 않고 비용도 많이 나오고 외주업체에 맡겨도 사람이 하는 일이라 원하는 형태의 데이터보다는 질이 낮은 데이터가 얻어짐 만약 원하는 task와 연관된 어떤 task에 대해 미리 학습한 모델을 이용할 수 있다면? 적은 데이터로도 좋은 성능을 낼 수 있지 않을까? 2. definition 기존에 미리 학습시켜놓은 사전 지식으로 연관된 새로운 task에 적은 노력으로 높은 성능에 도달하겠다는 것이 목적 쉽고 경제적이며 어느 정도의 성능도 보장한다 직관적..

2022. 2. 7. 15:48

유사도(similarity)와 거리(distance)는 무슨 차이가 있을까?(+ cosine distance vs. euclidean distance)

유사도와 거리는 밀접한 관계가 있다고 생각할 수 있다. 거리가 클 수록 유사도는 떨어진다. 비교하는 특징은 같으나 측량하는 관점에서는 서로 반대라는 것이다. 두 데이터 X,Y의 거리함수(distance function) d는 수학적으로 다음과 같이 정의한다. 위 식을 모두 만족하는 d가 거리함수다 유사도함수 s(X,Y)는 실수값을 출력하는 함수로 특별한 정의는 없다. 그래서 조금 더 일반적이다(general) 유사도함수가 특별히 [0,1]내에서 값을 가진다고 하면 두 함수 의미의 서로 반대의미와 identity-discening에 주목하여 유사도함수가 위의 거리함수의 공리를 모두 만족한다면 완벽하게 혼용해서 사용할 수 있다. 그런데 모든 유사도함수가 위의 조건을 만족할까? 그렇지도 않다. 지금 당장 생각..

2022. 2. 5. 21:21

시대를 뒤흔든 딥러닝의 아이디어들

1. 2012 AlexNet AlexNet 이전에는 고전적인 svm 등이 대회에서 1등을 했으나 AlexNet 이후 딥러닝 모델이 대회 1등을 놓친 적이 없다 224*224 이미지를 분류하는 CNN 왜 잘되는지 모르겠지만 인간을 모방한다니까 잘될 것 같다던 막연한 믿음의 유망주 딥러닝이 실제 성능을 발휘한 계기 2. 2013 DQN 딥마인드가 처음 개발한 알고리즘 그림에서 보이는 아타리 게임을 인간 수준으로 플레이할 수 있는 강화학습 알고리즘 아무것도 알려주지 않고 마음대로 플레이하게 놔두면, 처음엔 버벅거리다가 점점 스스로 게임을 이해하여 공략법을 익히고 실제로는 고수의 플레이를 보여준다 이후 딥마인드는 구글에 인수되어 알파고를 개발하였다 3. 2014 encoder/decoder 언어를 번역하는 아이..

2022. 2. 4. 22:15

convolution 연산의 stride와 padding

1. stride filter가 매 스텝 convolution할 때마다 다음회에 얼마나 이동할지 2차원의 경우 stride는 2차원이다, (옆으로 얼마나 이동할지 * 아래로 얼마나 이동할지) 2. padding 일반적으로 input, output은 convolution 연산으로 크기가 서로 달라짐 보통은 output이 input보다 차원이 줄어든다 보통 convolution을 하면 input의 가장자리 빨간색 부분의 정보가 짤린다 그렇지만 input의 모든 정보를 가져오는게 좋지 않겠는가 그래서 input과 output의 크기가 동일했으면 하는 마음이 있다 가장자리 주변에 padding을 하여 모든 정보를 가져오도록 만든다 stride=1인 경우 적절한 크기의 패딩을 사용하면 반드시 input과 outp..

2022. 2. 3. 21:00

convolution 연산 이해하기 중급편

1. convolution signal processing에서 먼저 나왔다 수학적 정의는 다음과 같다. 변수변환을 이용하면 교환법칙이 성립한다 2. convolution의 실제 계산법 커널을 이미지 상에서 stride만큼 움직여간다 찍은 부분에 대해 element wise product를 수행 이미지에 filter를 찍으면 convolution에 의해 filter의 효과에 따라 픽셀의 조정이 이루어지면서 사진이 흐려지거나 밝아지거나 하게 된다 ' 3. convolution의 기본적인 특징 커널과 input의 channel은 크기가 같아야한다 보통 커널은 5*5같이 크기만 제시되는데 input의 channel에 맞춰서 생각하면 된다. input 하나가 kernel 하나에 맞춰 convolution하면 ou..