
592
3
딥러닝의 기반 지식
15.4
보다시피 딥러닝 구조의 세부 사항에 겁먹지 않아도 됩니다.
fastai
와 파이토치 코드 내부를 살
펴보면 실제로 일어나는 일을 파악할 수 있습니다. 사실 그보다 코드를
그렇게 만들었는지
를 이해하는 것이 더 중요하죠. 코드가 참조한 논문을 읽어보고, 코드와 논문이 설명한 알고리
즘이 얼마나 일치하는지 이해하려고 노력해보세요.
지금까지 모델과 입력 데이터의 모든 부분을 살펴봤습니다. 이제는 딥러닝을 실전에 사용한다
는 의미를 고민해볼 수 있습니다. 데이터, 메모리, 시간에 제한이 없다면 매우 긴 시간 동안 매
우 큰 모델로 모든 데이터를 학습시키라는 조언을 드릴 수 있겠죠. 하지만 데이터, 메모리, 시
간이 제한적이기 때문에 딥러닝이 쉽지만은 않습니다. 시간이나 메모리가 부족하다면, 더 작은
모델을 학습시키는 해결책을 세울 수 있습니다. 모델이 과적화될 정도로 충분한 학습 시간을
보장할 수 없다면, 모델의 모든 가능성을 활용할 수 없기 때문이죠.
따라서 첫 번째 단계는 과적합 지점까지 도달하기입니다. 그리고 과적합을 줄일 방안을 찾아봐
야겠죠. [그림
15
-
3
]에 과적합된 시점에 거쳐야 할 단계를 우선순위대로 나열했습니다.
더 많은 데이터 수집하기
데이터 증강 적용하기
일반화할 수 있도록 모델 구조 변경하기
정규화 적용하기 ...