부록 D23: 딥러닝의 기본
이 장에서 배울 것
이번 장에서는 딥러닝(deep learning)의 기본을 배웁니다. 딥러닝은 여러 층의 인공신경망을 이용해 데이터의 복잡한 패턴을 배우는 방법입니다. 여기서는 어려운 수식보다 “숫자가 어떻게 흘러가며 예측이 만들어지는가”를 중심으로 봅니다.
핵심 용어를 먼저 정리하겠습니다.
- 인공신경망(neural network): 입력 숫자를 여러 단계로 계산해 출력을 만드는 모델입니다.
- 뉴런(neuron): 입력을 받아 가중합을 계산하고 값을 내보내는 계산 단위입니다.
- 가중치(weight): 입력값의 중요도를 조절하는 숫자입니다.
- 편향(bias): 전체 출력을 한쪽으로 밀어 주는 추가 숫자입니다.
- 활성화 함수(activation function): 계산 결과를 다음 층으로 보낼 형태로 바꾸는 함수입니다.
- 손실함수(loss function): 예측이 정답과 얼마나 다른지 재는 함수입니다.
- 역전파(backpropagation): 손실을 줄이기 위해 각 가중치를 어느 방향으로 바꿀지 계산하는 방법입니다.
- 합성곱 신경망(CNN): 이미지처럼 주변 구조가 중요한 데이터에 많이 쓰이는 신경망입니다.
- 순환 신경망(RNN): 순서가 있는 데이터에 쓰이던 신경망입니다.
- 트랜스포머(transformer): 긴 문장이나 서열에서 멀리 떨어진 부분의 관계를 잘 배우는 구조입니다.
가장 쉬운 비유: 여러 개의 조절 손잡이
딥러닝 모델은 수많은 조절 손잡이를 가진 기계처럼 볼 수 있습니다. 입력값이 들어오면 손잡이들이 각각 영향을 주고, 마지막에 예측값이 나옵니다. 예측이 틀리면 손잡이를 조금씩 조정합니다. 이 손잡이가 가중치입니다.
뉴런 하나의 계산
뉴런 하나는 입력값에 가중치를 곱해 더하고, 편향을 더합니다.
가중합 = 입력1×가중치1 + 입력2×가중치2 + 편향
예를 들어 입력이 2와 3이고, 가중치가 0.5와 1이며, 편향이 1이면 가중합은 다음과 같습니다.
2×0.5 + 3×1 + 1 = 1 + 3 + 1 = 5
활성화 함수
활성화 함수는 뉴런의 계산값을 다음 층으로 넘길 형태로 바꿉니다. 가장 쉬운 예는 렐루(ReLU)입니다.
ReLU(x) = x가 0보다 크면 x, 0보다 작으면 0
예를 들어 ReLU(5)는 5이고, ReLU(-3)은 0입니다. 이렇게 하면 모델이 단순한 직선 계산보다 더 복잡한 패턴을 배울 수 있습니다.
손실함수와 경사하강법
모델의 예측이 정답과 다르면 손실이 큽니다. 경사하강법은 손실이 줄어드는 방향으로 가중치를 조금씩 바꾸는 방법입니다.
새 가중치 = 기존 가중치 - 학습률 × 기울기
예를 들어 기존 가중치가 2.0, 학습률이 0.1, 기울기가 3이면 새 가중치는 2.0 - 0.1×3 = 1.7입니다.
역전파의 직관
역전파는 “어느 가중치가 오류에 얼마나 책임이 있는가”를 뒤쪽에서 앞쪽으로 계산하는 방법입니다. 입문 단계에서는 복잡한 미분 계산을 직접 하지 않아도 됩니다. 중요한 것은 딥러닝이 틀린 정도를 보고 가중치를 조금씩 고친다는 점입니다.
CNN, RNN, 트랜스포머
합성곱 신경망은 이미지의 작은 패턴을 잘 찾습니다. 현미경 이미지 분석에 쓰일 수 있습니다.
순환 신경망은 순서가 있는 데이터를 다루기 위해 쓰였습니다. DNA나 단백질 서열도 순서가 있는 데이터입니다.
트랜스포머는 멀리 떨어진 위치 사이의 관계를 잘 배울 수 있습니다. 현대의 대형 언어모델과 많은 생물학 서열 모델의 기반이 됩니다.
계산 감각
이 장에서는 뉴런의 가중합, ReLU, 경사하강법의 한 단계 계산을 연습합니다.
가중합 = 입력×가중치들의 합 + 편향
ReLU(x) = max(0, x)
새 가중치 = 기존 가중치 - 학습률 × 기울기
이 세 계산만 이해해도 딥러닝이 “마법”이 아니라 숫자를 반복적으로 조정하는 과정이라는 감각을 얻을 수 있습니다.
생물정보학에서 왜 중요한가
딥러닝은 단백질 구조 예측, 유전체 서열 해석, 세포 이미지 분석, 약물 후보 탐색, 단일세포 데이터 표현 학습 등에 쓰입니다. 하지만 딥러닝 모델은 강력한 만큼 데이터 편향, 과적합, 해석 가능성 문제도 함께 갖습니다.
보강: 층이 깊다는 것은 표현을 여러 단계로 바꾼다는 뜻이다
딥러닝에서 층(layer)이 많다는 것은 단순히 계산을 많이 한다는 뜻만은 아닙니다. 입력 데이터를 여러 단계의 표현(representation)으로 바꾼다는 뜻입니다. 예를 들어 DNA 서열 모델은 처음에는 A, T, G, C 같은 글자 패턴을 보고, 중간층에서는 motif 비슷한 구조를 보고, 더 깊은 층에서는 멀리 떨어진 조절 관계를 배울 수 있습니다.
원자료 → 낮은 수준 패턴 → 중간 수준 구조 → 예측에 유용한 표현
이런 표현학습 덕분에 딥러닝은 이미지, 서열, 단백질 구조처럼 복잡한 데이터에서 강력합니다.
학습 손실과 검증 손실을 함께 봐야 한다
학습 손실은 모델이 학습 데이터에서 얼마나 틀리는지 보여 줍니다. 검증 손실은 학습에 쓰지 않은 데이터에서 얼마나 틀리는지 보여 줍니다.
학습 손실 ↓, 검증 손실 ↓ : 대체로 좋은 학습
학습 손실 ↓, 검증 손실 ↑ : 과적합 의심
학습 손실이 거의 안 줄어듦 : 학습률, 모델 크기, 데이터 문제 의심
딥러닝에서는 모델이 커서 학습 데이터를 쉽게 외울 수 있습니다. 그래서 dropout, weight decay, early stopping 같은 정규화 방법을 쓰기도 합니다.
attention의 최소 직관
트랜스포머의 핵심인 attention은 “현재 위치가 다른 위치 중 어디를 중요하게 볼지 정하는 계산”으로 이해할 수 있습니다. 단백질 서열에서 멀리 떨어진 두 아미노산이 구조적으로 가까울 수 있습니다. attention은 이런 멀리 떨어진 관계를 배우는 데 유리합니다.
딥러닝 결과를 읽을 때는 성능만 보지 말고 데이터 편향, 훈련 데이터와 적용 데이터의 차이, 해석 가능성도 같이 봐야 합니다. 생물학에서는 모델이 맞힌 이유를 이해하는 것이 후속 실험 설계와 연결되기 때문입니다.
보강 학습: gradient descent와 딥러닝 학습
왜 필요한가: 손실함수를 줄이는 방향으로 많은 파라미터를 조금씩 업데이트하기 위해 필요합니다.
공식 읽기: θ ← θ - η∇L. θ는 파라미터, η는 learning rate, ∇L은 손실이 증가하는 방향의 gradient입니다.
숫자 예시: θ=10, ∇L=3, η=0.1이면 새 θ는 10-0.3=9.7입니다.
생물정보학에서 쓰이는 장면: 서열 기능 예측, 단백질 구조 예측, 세포 이미지 분류, single-cell representation learning에서 쓰입니다.
흔한 오해와 주의점: 딥러닝의 높은 예측 성능이 생물학적 원인 설명을 자동으로 보장하지는 않습니다.
핵심 정리
딥러닝은 여러 층의 인공신경망으로 복잡한 패턴을 배우는 방법입니다. 뉴런은 입력과 가중치를 곱해 더하고, 활성화 함수를 거쳐 값을 보냅니다. 손실함수는 예측 오류를 재고, 경사하강법과 역전파는 손실을 줄이도록 가중치를 조정합니다.
문제 풀이
딥러닝의 기본
주관식 답안은 Gemini API로 채점합니다. API 키는 이 브라우저에만 저장됩니다.
-
1. [쉬움] 객관식
뉴런(neuron)의 기본 역할로 적절한 것은?
-
2. [쉬움] 객관식
가중치(weight)의 설명으로 가장 적절한 것은?
-
3. [쉬움] 객관식
손실함수(loss function)는 무엇을 재는가?
-
4. [계산] 객관식
입력 2, 가중치 3, 편향 1일 때 가중합은?
-
5. [계산] 객관식
입력 2와 3, 가중치 0.5와 1, 편향 1이면 가중합은?
-
6. [계산] 객관식
ReLU(-3)의 값은?
-
7. [계산] 객관식
ReLU(8)의 값은?
-
8. [계산] 객관식
기존 가중치 2.0, 학습률 0.1, 기울기 3일 때 새 가중치는?
-
9. [계산] 객관식
기존 가중치 1.0, 학습률 0.2, 기울기 2일 때 새 가중치는?
-
10. [보통] 객관식
역전파의 직관으로 가장 적절한 것은?
-
11. [보통] 객관식
합성곱 신경망(CNN)이 특히 자주 쓰이는 데이터는?
-
12. [보통] 객관식
트랜스포머의 특징으로 적절한 것은?
-
13. [계산] 객관식
입력 4, 가중치 0.5, 편향 2이면 가중합은?
-
14. [계산] 객관식
입력 1과 2, 가중치 3과 4, 편향 0이면 가중합은?
-
15. [계산] 객관식
ReLU(0)의 값은?
-
16. [계산] 객관식
기존 가중치 5, 학습률 0.1, 기울기 10이면 새 가중치는?
-
17. [계산] 객관식
기존 가중치 0.5, 학습률 0.1, 기울기 -2이면 새 가중치는?
-
18. [계산] 객관식
입력 3과 5, 가중치 2와 -1, 편향 1이면 가중합은?
-
19. [계산] 객관식
ReLU(-0.5)의 값은?
-
20. [계산] 객관식
기존 가중치 3, 학습률 0.5, 기울기 2이면 새 가중치는?
-
21. [보통] 객관식
딥러닝이 마법이 아니라 숫자 계산이라는 점을 보여 주는 핵심 과정은?
-
22. [보통] 객관식
생물정보학에서 딥러닝이 쓰일 수 있는 예는?
-
23. [쉬움] 객관식
편향(bias)의 역할로 적절한 것은?
-
24. [보통] 객관식
활성화 함수가 필요한 이유로 적절한 것은?
-
25. [계산] 객관식
입력 4, 2와 가중치 0.5, -1, 편향 3일 때 가중합은?
-
26. [계산] 객관식
ReLU(-2.5)의 값은?
-
27. [계산] 객관식
기존 가중치 1.5, 학습률 0.2, 기울기 3일 때 새 가중치는?
-
28. [계산] 객관식
예측값 0.8, 정답 1.0이고 제곱오차를 (예측-정답)^2로 계산하면 손실은?
-
29. [계산] 객관식
입력 1, 3, -2와 가중치 2, 1, -1, 편향 0일 때 가중합은?
-
30. [사례 판단] 객관식
학습 손실은 계속 낮아지는데 검증 손실은 높아진다. 가장 의심되는 것은?
-
31. [계산] 객관식
기존 가중치 -1.0, 학습률 0.1, 기울기 -4일 때 새 가중치는?
-
32. [개념 구분] 객관식
트랜스포머의 attention 직관으로 가장 적절한 것은?
-
33. [쉬움] 객관식
θ ← θ - η∇L에서 η는? -
34. [보통] 객관식
θ=10, ∇L=3, η=0.1이면 새 θ는?
-
35. [쉬움] 객관식
-∇L방향으로 움직이는 이유는? -
36. [보통] 객관식
learning rate가 너무 크면?
-
37. [어려움] 객관식
딥러닝 해석 주의점은?
-
주관식 38. [보통] 주관식 · Gemini 채점
뉴런 하나가 어떤 계산을 하는지 설명하라.
-
주관식 39. [보통] 주관식 · Gemini 채점
ReLU 활성화 함수를 쉬운 말로 설명하라.
-
주관식 40. [보통] 주관식 · Gemini 채점
경사하강법이 하는 일을 설명하라.
-
주관식 41. [보통] 주관식 · Gemini 채점
딥러닝을 생물정보학에 쓸 때 조심해야 할 점을 설명하라.
-
주관식 42. [심화] 주관식 · Gemini 채점
학습 손실은 낮아지는데 검증 손실이 높아지는 상황을 딥러닝 모델 해석 관점에서 설명하라.
-
주관식 43. [보통] 주관식 · Gemini 채점
θ=2.0, ∇L=-4, η=0.05일 때 새 θ를 계산하라.
-
주관식 44. [보통] 주관식 · Gemini 채점
단백질 기능 예측 딥러닝 모델이 높은 정확도를 보여도 외부 검증이 필요한 이유를 설명하라.