본문 바로가기
반응형

딥러닝 머신러닝 데이터 분석/BoostCampAITech25

[ Boost Camp ] Day-9 학습로그 1) 강의 복습 내용 최적화optimization에 대해서 총체적으로 배웠다. 그렇지 않은 경우도 있지만 대부분의 경우 모델의 일반화generalization을 최대로 하면서 최적의 모델을 찾고자 하는 시도를 한다. 일반화란 학습하지 않은 문제에 대해서도 일반적으로 동일한 성능을 기대할 수 있는 것을 말한다. 일반화도 잘 되면서 성능도 뛰어난 모델을 얻을 수 있는 방법에 대한 연구가 굉장히 많이 이루어졌다. 트레이닝 데이터에 과적합되면 테스트 데이터에 대해서 잘 대처하지 못하는 현상을 보이므로 이런 현상이 발생하지 않도록 하면서 성능을 최적화해야한다. 가장 첫번째 전략으로는 어느정도 성능이 안정되었다고 판단되면 generalization gap 이 더이상 벌어지기전에 학습을 중단하는 것이다. 두번째 방법.. 2021. 8. 10.
[ Boost Camp ] Day-8 학습로그 알고보니 기본적인 가이드 라인이 있었다... 오늘부터 맞춰서 적어보겠다. 1) 강의 복습 내용 DL-Basic 1강 DL-Basic 1강은 Deep Learning 의 역사에 대한 강의였다. 지금은 Tensorflow 나 PyTorch 등의 라이브러리에 최신의 모델이나 논문 내용이 잘 반영되어있어 딥러닝을 공부하기 굉장히 수월하지만 이게 그리 오래된 역사는 아니었다. AI에 대한 역사는 생각보다 오래되었고 정말 많은 분야가 파생되어져왔다. 특히 Deep Learning은 극히 일부일 정도로 AI 라는 영역은 정말 넓고도 넓다. 딥러닝의 필수요소는 4가지로 정리된다. 1. 데이터 2. 모델 3. 오차함수 4. 최적화 알고리즘 이 네가지가 한데 어우러지면 딥러닝이 탄생한다. 딥러닝의 모델은 데이터를 통해서 .. 2021. 8. 10.
[ Boost Camp ] BPTT를 이해해 보자 // BPTT? BPTT는 RNN에서 계산되는 back propagation으로 sequential data의 특성으로 인해 발생하는 hidden state를 따라 역행하면서 전파되는 gradient의 계산 방법이다. Back Propagation Through Time의 약자이며 사실 따지고 보면 단순한 역전파 계산과 동일하긴 하다. 아래에서 진행되는 연산은 캠프 내용중 과제로 나왔던 자료의 표기를 참고하여 작성되었다. // Hidden state 에 연산되는 가중치를 위한 기울기 우선은 many-to-one 모델에서 생각해보자. 이 글의 전반에 걸쳐서 요 many-to-one 에만 집중할 것이다. 이것을 이해하면 나머지도 다 따라갈 수 있을 것이라 생각한다. 하나의 셀이 만드는 hidden state.. 2021. 8. 9.
[ Boost Camp ] Day-4 학습로그 ( CNN, RNN ) 본 문서는 강의의 내용을 토대로 다른 자료들을 공부하고 취합하여 재 해석한 내용으로 강의 내용과 많이 다를 수 있음. 이하 모든 출처가 생략된 자료는 모두 Boost Camp AI Tech의 자료에서 발췌한 것임을 밝힘. // CNN 우리가 너무나도 잘 알고 있는 CNN. 과연 잘 알고 있는 것이 맞는 건가 싶을 때가 한두번이 아니다. CNN에 대한 자세한 설명들은 너무나도 많으므로 강의에 나왔던 내용중에 카운터 펀치가 될만한 내용들 위주로 정리를 할까 한다. 우선은 이 부분. 우리가 convolution이라고 알고 부르는 이 연산은 사실 cross-correlation연산이라고 한다. 사실은 필터가 신호를 스캔할때 신호의 방향과 같은 방향으로 스캔하느냐 혹은 다른 방향으로 스캔하느냐 그런 차이 뿐이지만.. 2021. 8. 6.
[ Boost Camp ] Day-2 학습로그( 신경망 학습 ) 본 문서는 강의의 내용을 토대로 다른 자료들을 공부하고 취합하여 재 해석한 내용으로 강의 내용과 많이 다를 수 있음. 이하 모든 출처가 생략된 자료는 모두 Boost Camp AI Tech의 자료에서 발췌한 것임을 밝힘. // 신경망의 학습 앞서 우리는 선형회귀모델을 이용해서 데이터의 경향을 가장 잘 나타내는 직선의 방정식을 찾아내는 과정을 보았다. 그리고 미니배치를 통한 더욱 효과적인 경사하강법도 보았다. 그렇다면 데이터가 두개 이상의 카테고리를 가지고 각 카테고리 별로 대표되는 직선의 방정식이 다르다면 어떻게 각 카테고리마다 경향성을 찾을 수 있을까 그것은 \beta를 여러개로 묶은 하나의 행렬을 이용함으로 해결할 수 있다. 이번에는 열벡터들이 원소로 주어지는 행벡터를 W 라고 했다. 이렇게 하면 W.. 2021. 8. 6.
[ Boost Camp ] Day-1 학습로그 (벡터, 행렬, 선형회귀, SGD) 본 문서는 강의의 내용을 토대로 다른 자료들을 공부하고 취합하여 재 해석한 내용으로 강의 내용과 많이 다를 수 있음. 이하 모든 출처가 생략된 자료는 모두 Boost Camp AI Tech의 자료에서 발췌한 것임을 밝힘. // 벡터 벡터와 행렬의 정의부터 설명하고 넘어갔다. 벡터는 여러개의 축으로 이루어진 공간상에서 한 점을 나타내는 수학적인 단위이고 이 공간 상에서 두 벡터간의 거리를 결정하는 것을 norm이라고 한다. 나는 이걸 놈이라고 읽는데 노름 이라고도 읽는 것 같다. 이 norm을 어떻게 설정하냐에 따라 두 벡터상의 거리에관한 규칙이 달라지므로 공간의 여러 기하적인 특징이 달라진다. 원의 형태가 이렇게 달라지는 것을 확인할 수 있다. 그 외에 벡터에 관한 설명들은 굉장히 기초적인 것이어서 여기.. 2021. 8. 6.
반응형