딥러닝으로 문제를 해결하는 순서는 다음과 같습니다.
▼ 딥러닝 문제 해결 프로세스

❶ 가장 먼저 해결할 문제를 정의합니다. 예를 들면 이미지를 읽어들여 분류한다든가, 문장 안에 비어 있는 단어를 알아맞추는 등의 문제를 정의합니다.
❷ 다음으로는 문제를 푸는 데 필요한 데이터를 수집합니다. 딥러닝은 데이터를 기반으로 학습이 이루어집니다. 그렇기 때문에 딥러닝 모델이 읽어들이는 입력 데이터에 대한 딥러닝 모델의 예측이 올바른지를 판단할 정답이 필요합니다. 예를 들어 다음 그림은 두 가지 범주를 갖는 학습용 데이터셋을 표현하고 있습니다. 왼쪽은 검정색, 오른쪽은 하얀색이 정답입니다.
▼ 딥러닝 학습에 사용하는 데이터셋 구성 예시

충분한 양의 데이터를 수집했다면 다음으로는 ❸ 데이터를 가공해야 합니다. 데이터를 수집하다보면 정답이 잘못된 데이터, 혹은 문제 해결에 도움이 되지 않는 데이터 등이 섞이게 됩니다. 이런 데이터는 학습에 악영향을 미치므로 데이터에서 제거해줘야 합니다. 이렇게 딥러닝 모델의 입력으로 사용하기 전에 학습이 원활하게 이루어지도록 가공하는 작업을 데이터 전처리라고 합니다. 다음 그림에서 검정색 데이터에 흰색 데이터가 들어 있습니다. 잘못된 값입니다(경우에 따라 적절한 처리를 하거나 무시합니다).
▼ 데이터 가공의 예

이제 ❹ 딥러닝 모델을 만들 차례입니다. 해결할 문제에 알맞는 딥러닝 모델을 설계해야 합니다. 이 책에서는 이해를 돕고자 〈기본 블록〉을 먼저 그림으로 설계한 후 코드로 딥러닝 모델을 정의합니다.
딥러닝 모델의 설계를 완료했으면 데이터를 이용해 딥러닝 모델을 학습해야 합니다. 데이터를 딥러닝 모델의 입력으로 주면 예측이 올바른지 정답과 비교해가며 모델을 학습합니다. 이때 얼마나 올바르게 학습했는가를 근사적으로 나타내는 수치를 ‘손실’이라고 하는데, 이 손실이 작아지도록 학습합니다. 이 책에서는 먼저 〈학습 루프〉를 그림으로 설계한 후 학습 코드를 정의합니다.
마지막으로 학습 때 이용하지 않은 데이터를 이용해서 학습이 완료된 모델의 ❻ 성능을 평가합니다. 딥러닝 모델의 성능을 평가하는 데 ‘평가 지표’를 이용합니다. 이 평가 지표가 딥러닝 모델의 성능을 근사적으로 나타냅니다.
딥러닝 모델의 학습 흐름을 더 자세하게 그림으로 만들어보았습니다.
▼ 딥러닝 모델 학습의 흐름
![[PyTorch]딥러닝_입문–_딥러닝_한_doc_image_5.png](attachment:41e9a21f-b196-4e7a-baaf-4b96a545aada:PyTorch_%EB%94%A5%EB%9F%AC%EB%8B%9D_%EC%9E%85%EB%AC%B8_8211_%EB%94%A5%EB%9F%AC%EB%8B%9D_%ED%95%9C_doc_image_5.png)
‘5. 딥러닝 문제 해결 프로세스’에서 살펴본 대로 딥러닝의 문제 풀이 흐름은 거의 고정적입니다. 각 단계마다 확인 사항을 간략하게 체크리스트로 정리해두었습니다. 학습과 업무에 도움이 되길 빕니다.
▼ 딥러닝 문제 해결 체크리스트
![[PyTorch]딥러닝_입문–_딥러닝_한_doc_image_6.png](attachment:ad415701-3d50-4d9f-9f71-e746833da1f1:PyTorch_%EB%94%A5%EB%9F%AC%EB%8B%9D_%EC%9E%85%EB%AC%B8_8211_%EB%94%A5%EB%9F%AC%EB%8B%9D_%ED%95%9C_doc_image_6.png)