3-1AI는 어떻게 작동하나
확인 문제 정답과 채점 기준
Q1. 머신러닝과 딥러닝을 "특징"이라는 말을 써서 한 문장씩으로 구별하라.
- 모범 답안: 머신러닝(전통적 방식)은 사람이 특징을 정하고, 기계는 특징마다 곱할 가중치를 배운다. 딥러닝은 원본 데이터에서 특징까지 기계가 배운다.
- 채점 (3점)
- 2점: "누가 특징을 정하나"로 두 방식을 구별했다.
- 1점: 딥러닝도 머신러닝의 한 갈래라는 관계를 언급했거나, 예시(가중치 3개 대 1,741개)를 들었다.
- 감점: "딥러닝은 사람이 아무것도 안 한다"고 쓰면 1점을 뺀다. 사람은 데이터와 모델 구조를 정한다.
Q2. 특징 A는 학습 데이터에 "조명 어두워짐" 장면이 있는데도 왜 그 장면을 틀리나?
- 모범 답안: 특징 A(면적 변화, 중심 이동)로 바꾸면 조명 장면은 "면적이 크게 늘고 중심은 그대로"인 점이 된다. 이 점은 다가옴과 같은 쪽, 더 먼 곳에 놓인다. 직선 하나로는 다가옴과 떼어낼 수 없다. 숫자 2개로 줄이면서 구별할 정보가 사라졌기 때문에 데이터를 더해도 고쳐지지 않는다.
- 채점 (3점)
- 1점: 특징 평면에서 조명 장면이 다가옴 쪽에 놓인다.
- 1점: 직선 하나(선형 분류기)로는 떼어낼 수 없다.
- 1점: 정보는 특징을 만드는 단계에서 이미 사라졌다. 데이터를 더하는 것이 아니라 특징을 바꿔야 한다.
Q3. 사람의 감각 중 시상을 거치지 않고 대뇌피질로 바로 가는 것은?
- 정답: 후각 (후각상피 → 후각망울 → 조롱박피질). 1점.
- 덧붙이면 좋은 점: 조롱박피질에서 안와전두피질로 갈 때는 시상을 거치는 길도 있다(Sela 외, 2009).
Q4. 초파리 LPLC2와 섹션 3의 특징 B는 무엇이 닮았나?
- 모범 답안: 둘 다 "물체가 사방으로 커지는 것"과 "그냥 어두워지는 것"을 구별한다. LPLC2는 움직임 없는 어두워짐에 반응하지 않는다(Klapoetke 외, 2017). 다른 점은 만들어진 방식이다. 특징 B는 사람이 설계했고, LPLC2는 발생 과정에서 만들어진 회로다.
- 채점 (2점): 닮은 점 1점, 다른 점 1점.
Q5. "학습 데이터로 정확도 100%가 나왔으니 현장에서도 잘 될 것이다"는 판단의 문제는?
- 모범 답안: 학습 데이터에 없던 상황을 만나면 틀릴 수 있다. 섹션 4의 "조명 변화 없음"이 그 예다. 학습 손실은 0.011까지 내려갔지만, 조명 장면은 20개 중 0개를 맞혔다. 그 장면들에 대해서도 확률 0.99로 "피하라"고 확신했다. 처음 보는 시험 데이터로 실력을 재고, 현장에서 생길 상황이 학습 데이터에 들어 있는지 따져야 한다.
- 채점 (3점)
- 1점: 학습 성적과 실제 성능을 구별했다.
- 1점: 데이터에 없던 상황이라는 원인을 짚었다.
- 1점: 대책을 하나 이상 제시했다(시험 데이터, 현장 데이터 수집, 모니터링).
Colab 과제 예시 답안
기본 과제: "비스듬히 다가옴" 추가
- 코드 1의
make_episode에 새 종류를 추가한다. 예: 그림자가 커지면서 중심이 3~5칸 이동한다. 정답은 1(피해야 함)로 둔다. - 예상 결과
- 특징 A: 중심 이동이 크면 "지나감" 쪽으로 분류된다. 정확도가 떨어질 가능성이 높다.
- 특징 B: 테두리가 길어지므로 대체로 맞힌다.
- 신경망: 학습 데이터에 이 장면이 들어 있으면 맞히고, 없으면 일부를 틀린다.
- 채점 포인트
- 결과표가 있다.
- "특징이 담은 정보"와 "데이터가 담은 상황"으로 이유를 설명했다.
- 실제 숫자는 시드에 따라 다르므로 숫자 자체가 아니라 해석을 본다.
도전 과제: 내 업무 데이터
- 좋은 답안은 다음을 갖춘다.
- 특징 3개와 그 근거(업무 지식)가 있다.
- 학습 예시 수별 비교 그래프가 있다.
- "예시가 적을 때는 특징 방식, 충분할 때는 신경망 방식"처럼 데이터 양에 따른 결론을 내렸다.
- 시험 데이터를 마지막에 한 번만 썼다.
- 흔한 실수
- 특징을 계산할 때 시험 데이터 정보를 섞는다(데이터 누수).
- 정확도만 보고 정밀도·재현율을 보지 않는다(불균형 데이터인 경우, 3-2 섹션 9).
수업 중 자주 나오는 질문
- "그럼 딥러닝이 머신러닝보다 나쁜 건가요?"
- 아니다. 문제와 데이터 양에 달렸다.
- 사진·소리·글처럼 특징을 말로 정하기 어려운 데이터에서는 딥러닝이 훨씬 강하다.
- 이 페이지의 장면은 일부러 단순하게 만들어서 좋은 특징을 사람이 쉽게 떠올릴 수 있었다.
- "사람 뇌도 역전파를 하나요?"
- 확인되지 않았다. 비슷한 일을 다른 방법으로 할 수 있다는 가설이 연구 중이다(Lillicrap 외, 2020).
- "브라우저 숫자와 Colab 숫자가 왜 조금 다른가요?"
- 두 환경은 난수 생성기가 달라서 장면이 조금씩 다르다.
- 특징 A의 정확도는 브라우저 86.9%(다가옴 1개도 놓침), Colab 87.5%다.
- 결론은 같다. 조명 장면은 두 환경 모두에서 전부 틀린다.
3-2신경망의 부품
확인 문제 정답과 채점 기준
Q1. 활성함수가 없는 신경망에 은닉층을 10개 쌓으면 어떤 경계를 그릴 수 있나? (2점)
- 정답: 직선(고차원에서는 평면) 하나뿐이다.
- 채점: 결론 1점. 선형 변환을 여러 번 합쳐도 선형 변환 하나가 된다는 이유(W₂W₁x = Wx) 1점.
Q2. 시그모이드 대신 ReLU를 쓰면 기울기 소실이 줄어드는 이유는? (2점)
- 정답: 시그모이드의 기울기는 최대 0.25라 층마다 곱해지며 빠르게 작아진다. ReLU는 양수 구간의 기울기가 1이라 거슬러 가도 줄지 않는다.
- 채점: 0.25와 1의 비교 1점, "곱해져서 줄어든다"는 설명 1점. 음수 구간의 기울기 0(꺼진 뉴런)을 덧붙이면 좋다.
Q3. 정답이 1, 예측이 0.41일 때 MSE 손실과 ∂L/∂y는? (2점)
- 정답: L = (1 − 0.41)² = 0.3481 ≈ 0.35, ∂L/∂y = −2 × (1 − 0.41) = −1.18.
- 채점: 각 1점. ∂L/∂y는 부호까지 맞아야 한다.
Q4. 학습 손실은 계속 줄고 검증 손실은 어느 순간부터 오른다. 무슨 상태이고 무엇을 해야 하나? (3점)
- 정답: 과적합이다.
- 채점: 과적합이라고 진단 1점, 검증 손실이 가장 낮았던 시점의 모델을 쓰는 조기 종료 1점, 드롭아웃·가중치 감쇠·데이터 늘리기 가운데 하나 이상 1점.
Q5. 불량률 10%인 검사에서 "전부 정상"이라고 답하는 모델의 정확도와 재현율은? (2점)
- 정답: 정확도 90%, 재현율 0%.
- 채점: 각 1점. "불균형 데이터에서는 정확도만 보면 안 된다"를 덧붙이면 좋다.
Colab 과제 예시 답안
기본 과제: tanh → ReLU, 은닉 뉴런 4·16·64
- 바꿀 곳은 두 줄이다. 활성함수를 max(0, z)로, 그 미분을 "z > 0이면 1, 아니면 0"으로 바꾼다.
- 결과는 실행해서 표로 정리한다. 뉴런을 늘리면 학습 정확도는 대체로 오르지만, 검증 정확도는 어느 지점부터 더 오르지 않거나 떨어질 수 있다.
- 채점 포인트: 검증 정확도로 설정을 골랐는지(학습 정확도로 고르면 감점), 이유를 과적합과 연결해 설명했는지 본다.
도전 과제: 내 업무 데이터로 6:2:2 평가
- 학습 데이터로만 학습하고, 검증 데이터로 설정과 문턱을 고르고, 시험 데이터는 마지막에 한 번만 쓴다.
- 문턱 0.5가 맞는지는 업무 비용으로 판단한다. 예를 들어 불량을 놓치는 비용이 크면 문턱을 낮춰 재현율을 높이고, 그만큼 늘어나는 오경보(정밀도 하락)를 함께 보고한다.
- 채점 포인트: 세 지표를 모두 보고했는지, 문턱 판단의 근거가 업무 상황에 맞는지 본다. 개인정보가 담긴 데이터는 쓰지 않거나 익명화했는지 확인한다.
3-3이미지와 CNN
확인 문제 정답과 채점 기준
Q1. 224×224 컬러 사진을 은닉 뉴런 1,000개짜리 MLP에 넣으면 첫 층의 가중치는 몇 개인가? (편향 제외)
- 정답: 224 × 224 × 3 = 150,528, × 1,000 = 150,528,000개(약 1억 5천만 개).
- 덧붙이면 좋은 점: 3×3 컬러 필터 64개짜리 합성곱 층은 3 × 3 × 3 × 64 = 1,728개(편향 포함 1,792개)다.
- 채점 (2점): 식 1점, 답 1점. 채널 3을 빠뜨리면 1점을 뺀다.
Q2. 6×6 입력에 3×3 필터를 패딩 없이 보폭 1로 적용하면 출력 크기는?
- 정답: (6 − 3 + 1) × (6 − 3 + 1) = 4×4. 1점.
Q3. 섹션 5의 세로 가장자리 필터를 왼쪽 위 자리에 놓았을 때 출력이 −3인 이유를 계산으로 보여라.
- 모범 답안: 겹친 조각의 둘째 줄은 [0, 3, 3], 필터의 각 줄은 [1, 0, −1]이다. 0×1 + 3×0 + 3×(−1) = −3이다. 첫째·셋째 줄은 모두 0이다.
- 채점 (2점): 겹친 조각을 바르게 고르면 1점, 칸끼리 곱해 더하는 계산이 맞으면 1점.
Q4. 2×2 창 [6, 3, 0, 3]의 최대 풀링 값과 평균 풀링 값은?
- 정답: 최대 6, 평균 (6 + 3 + 0 + 3) / 4 = 3. 각 1점.
Q5. 픽셀을 같은 규칙으로 섞어 처음부터 학습하면 MLP와 CNN 중 누가 더 크게 떨어지고, 왜인가?
- 모범 답안: CNN이 더 크게 떨어진다.
- CNN은 "가까운 픽셀끼리 관련 있다"는 가정을 구조(3×3 필터, 풀링)에 담았다. 섞으면 이 가정이 깨진다.
- MLP는 처음부터 픽셀의 위치 관계를 쓰지 않으므로 거의 같다.
- 실제 결과: 브라우저에서 MLP 92.7% → 91.3%, CNN 78.7% → 67.3%. Colab 3시드 평균은 MLP 88.4% → 90.0%, CNN 80.2% → 65.8%.
- 채점 (3점)
- 1점: 결과(CNN이 더 떨어진다).
- 1점: CNN의 가정(이웃 관계)을 설명했다.
- 1점: 조건(같은 규칙으로 섞어 처음부터 학습)을 정확히 말했다. "학습된 모델에 섞은 그림을 넣는다"로 쓰면 이 1점을 주지 않는다.
Colab 과제 예시 답안
기본 과제: 대각선 필터 추가
- 예시 필터:
[[0,1,1],[-1,0,1],[-1,-1,0]](오른쪽 위가 밝고 왼쪽 아래가 어두운 대각선 경계). -
코드 1로 계산한 출력 4×4:
3 0 0 -6 6 6 6 0 0 0 0 0 3 0 -3 0 -
최댓값은 6이고 2줄 1·2·3칸에서 나온다. 비스듬한 획이 아니라 7의 윗변 바로 아래 경계다. 이 필터는 "위쪽·오른쪽이 밝고 아래쪽·왼쪽이 어두운" 곳에 반응해서, 가로 경계에도 크게 반응한다.
- 좋은 답안은 이처럼 예상(대각선 획)과 실제 결과가 다를 때 숫자를 근거로 이유를 설명한다. 필터 이름만 보고 반응 위치를 짐작하면 틀릴 수 있다는 것이 이 과제의 배울 점이다.
- 채점 포인트
- 필터 숫자의 배치와 반응 위치를 연결해 설명했다.
- 숫자는 코드로 계산한 값을 인용했다.
도전 과제: 데이터 증강
- 예상 경향
- 학습 그림에 1~2칸 옮긴 그림을 섞으면 두 모델 모두 1~2칸 정확도가 오른다.
- MLP도 크게 오르는데, 옮긴 자리를 데이터로 외우기 때문이다.
- 학습에 없던 3칸에서는 여전히 CNN이 덜 떨어지는 경향이 기대된다. 실제 숫자는 학생이 실행한 결과를 기준으로 본다.
- 좋은 결론 예시: "구조(가중치 공유·풀링)는 데이터 없이도 작은 이동에 덜 흔들리게 하고, 증강은 보여 준 범위의 이동에만 견디게 한다. 실무에서는 둘을 함께 쓴다."
수업 중 자주 나오는 질문
- "CNN이 가운데 그림에서는 MLP보다 낮은데요?"
- 맞다. 이 페이지처럼 학습·시험의 위치가 같고 데이터가 적으면 MLP가 이길 수 있다. CNN은 파라미터가 4.5배 적다.
- CNN의 장점은 적은 파라미터와 이동에 대한 견고함이다. 실제 사진처럼 위치가 제각각인 데이터에서 효과가 크다.
- "CNN은 위치가 바뀌어도 똑같이 알아보지 않나요?"
- 아니다. 2칸 옮기면 CNN도 78.7% → 69.3%로 떨어진다(브라우저 기준).
- 큰 CNN도 몇 픽셀 이동에 답이 바뀔 수 있다(Azulay & Weiss, 2019). "비교적 덜 흔들린다"가 정확하다.
- "1칸 옮겼을 때는 왜 MLP가 더 높나요?"
- 시드 하나·시험 150장의 작은 실험이라 생기는 흔들림이다.
- Colab의 3시드 평균에서는 1칸에서도 CNN(64.2%)이 MLP(54.7%)보다 높았다. 결론은 여러 번 반복한 결과로 내린다는 것을 함께 가르친다.
3-4음성
확인 문제
- Q1 (1점): 4,000 Hz.
- Q2 (1점): 3 Hz.
- Q3 (2점): 약 48 dB(이론 49.92 → 98.08 dB). 식 1점, 값 1점.
- Q4 (2점): 98프레임. (8,000 − 200) ÷ 80 = 97.5 → 버림 97 + 1 = 98. "97"로 답하면 1점.
- Q5 (2점): 1,960개, 약 4분의 1.
과제 예시
- 기본(NMEL 40, FRAME 400): 행렬이 (프레임 수 감소) × 40으로 바뀐다. 창이 길면 주파수는 촘촘해지지만 프레임 수가 줄고 시간 변화가 뭉개진다.
- 채점: 프레임 수 변화를 계산으로 확인했는지 본다.
- 도전(직접 녹음): 같은 소리를 두 번 녹음해도 상관이 1이 아니다. 거리·잡음·음량·말 빠르기가 차이를 만든다.
- 개인정보 동의를 받았는지 확인한다.
3-5텍스트
확인 문제
- Q1 (1점): 0xAC01("각").
- Q2 (2점): 14바이트 = 9 + 1 + 4.
- Q3 (2점): 단어 빈도를 가중치로, 이웃한 조각 쌍의 출현을 세어 가장 큰 쌍을 합친다.
- Q4 (2점): 단어 단위는 "모름", BPE는 ["초파리", "들", "이"].
- Q5 (2점): 둘 다 {dog:1, bites:1, man:1}. 위치 정보가 필요하다.
과제 예시
- 기본(나비 문장 추가): "나비는"은 같은 자리에 오고 같은 단어(꽃을, 날개가)와 함께 나오는 "꿀벌은", "초파리는" 등과 가까워질 것으로 예상된다.
- 값은 실행해서 확인한다. 강사는 수업 전에 한 번 실행해 둔다.
- 도전(합치기 횟수): 합치기를 늘리면 사전이 커지고 문장당 토큰 수가 준다.
- 너무 크면 드문 토큰이 늘어 학습 자료가 부족해진다.
- 너무 작으면 문장이 길어져 계산이 늘어난다.
- 근거를 표로 제시했는지 본다.
3-6시계열·주가
확인 문제
- Q1 (1점): 500쌍.
- Q2 (2점): 10번. 첫 학습 300쌍, 마지막 480쌍.
- Q3 (1점): 약 4%p.
- Q4 (2점): 선택 편향·과적합. 시험 구간은 마지막에 한 번만 쓴다.
- Q5 (3점): 결과를 숫자로 그대로 보고(1점), 데이터·설정 조건을 밝힘(1점), 일반화의 한계와 다음 실험을 제시(1점).
과제 예시
- 기본(전체 기간 정규화): 숫자가 조금 바뀐다. 방향은 데이터에 따라 다르다.
- 핵심은 결과가 좋아지든 나빠지든 "미래 정보를 쓴 평가라 믿을 수 없다"를 설명하는 것이다.
- 도전(변동 크기 예측): 섹션 2에서 절댓값 수익률의 자기상관이 수익률보다 컸다(4/10 대 0/10). 그래서 기준선 대비 개선 여지가 상대적으로 크다고 예상할 수 있다.
- 실제 결과는 실행해서 시드 3개 이상으로 보고하게 한다.
수업 운영 주의. 수업 시작과 끝에 "교육용 예시이며 투자 조언이 아니다"를 분명히 말한다. 학생이 특정 종목의 매매 판단을 물으면 이 페이지의 범위 밖임을 알린다.
3-7순서 모델
확인 문제 정답과 채점 기준
Q1. 수열을 평균 내어 피드포워드 신경망에 넣으면 어떤 정보가 사라지나?
- 모범 답안: 순서가 사라진다. 100 → 110 → 120과 120 → 110 → 100은 평균이 모두 110이다.
- 채점 (2점): "순서"를 말하면 1점, 예시를 들면 1점.
Q2. h_t = tanh(x_t + 0.9·h_(t−1))에 1, 0, 0을 넣으면 h_1, h_2는?
- 정답: h_1 = tanh(1) ≈ 0.762, h_2 = tanh(0.686) ≈ 0.595.
- 채점 (2점): 각 1점. 반올림 ±0.002는 정답으로 본다.
Q3. f = σ(5) ≈ 0.9933, 입력 게이트가 완전히 닫혀 있다면 20번째 칸의 셀 상태는 처음 값의 몇 배인가?
- 정답: 0.9933¹⁹ ≈ 0.880배.
- 덧붙이면 좋은 점: 섹션 5의 실제 값(0.988 → 0.864, 약 0.875배)이 조금 작은 것은 입력 게이트가 0.007만큼 열려 방해 신호(−1이 10개, +1이 9개)가 새어 들었기 때문이다.
- 채점 (2점): 거듭제곱 횟수(19)를 맞으면 1점, 값이 맞으면 1점. 20제곱(0.874)으로 쓰면 1점만 준다.
Q4. 은닉 16, 입력 1일 때 SimpleRNN, LSTM, GRU(교과서 식)의 순환층 파라미터 수는?
- 정답: 한 벌 = 16 × 17 + 16 = 288개.
- SimpleRNN: 288개
- LSTM: 4 × 288 = 1,152개
- GRU(교과서 식): 3 × 288 = 864개
- 덧붙이면 좋은 점: Keras 기본 GRU는 편향 48개를 더해 912개다. 코드 2 출력과 같다.
- 채점 (3점): 각 1점.
Q5. LSTM이 T = 100에서 실패했다. "LSTM은 긴 기억을 못 한다"고 결론 내려도 되나?
- 모범 답안: 안 된다.
- 섹션 5처럼 가중치를 알맞게 정하면 LSTM은 긴 기억을 담을 수 있다.
- 실패는 30에폭 안에 경사하강이 그 가중치를 찾지 못했다는 뜻이다.
- 학습 시간, 학습률, 데이터 양을 바꾸고 여러 시드로 다시 실험해야 결론을 낼 수 있다.
- 채점 (3점)
- 1점: 구조의 능력과 학습의 결과를 구별했다.
- 1점: 대안 실험을 제시했다.
- 1점: 반복(시드) 실험의 필요성을 말했다.
Colab 과제 예시 답안
기본 과제: 입력 게이트를 늘 열기 (i = σ(5))
- 예상 결과: 매 칸 0.993 × g(±0.995)가 셀 상태에 더해진다. 셀 상태는 최근 방해 신호를 따라 크게 흔들리고, 첫 신호를 뒤집어도 20칸 뒤 값은 거의 같아진다.
- 학생은 반드시 코드로 계산한 값을 인용해야 한다. 강사는 수업 전에 직접 한 번 실행해 숫자를 확인한다.
- 좋은 결론 예시: "입력 게이트는 '언제 적을지'를 정한다. 아무 때나 적으면 오래된 신호가 새 신호에 덮인다."
도전 과제: T = 100의 실패를 성공으로
- 시도할 만한 것
- 에폭 늘리기(예: 100 이상)
- 학습률 바꾸기(0.001, 0.01)
- 학습 데이터 늘리기
- 짧은 수열부터 학습해 점점 늘리기(커리큘럼 학습)
- 은닉 크기 바꾸기
- 결과는 실행해 봐야 안다. 시드 3개 이상으로 표를 만들고, 성공·실패가 시드에 따라 갈린다면 그것도 결과로 보고하게 한다.
- 채점 포인트: 바꾼 것을 한 번에 하나씩 비교했는지 본다. 결과를 골라 보고하지 않았는지도 본다.
수업 중 자주 나오는 질문
- "교과서에는 RNN이 긴 수열에서 실패한다고 하던데 왜 SimpleRNN이 T = 50에서 성공했나요?"
- 과제가 비교적 단순하고(첫 칸 하나만 기억), 초기화 방식에 따라 기억이 꽤 오래 유지되기도 한다. Keras 순환층은 순환 가중치를 직교 행렬로 초기화하는 것이 기본이다.
- 실험 결과를 교과서의 문장과 맞추려 하지 말고, 조건을 밝혀 그대로 보고하는 것이 중요하다.
- "GRU는 T = 50에서 왜 실패했나요?"
- 이 설정(30에폭, 학습률 0.005)에서 두 시드 모두 찍기 수준에 머물렀다. 원인은 이 실험만으로 단정할 수 없다. 도전 과제로 연결한다.
- "망각 게이트는 LSTM에 처음부터 있었나요?"
- 아니다. 1997년 원 논문에는 없었고, Gers 등이 2000년 논문으로 더했다(학회 발표는 1999년).
3-8어텐션·트랜스포머
확인 문제 정답과 채점 기준
Q1. q = [2, 0.4], k = [2, 0], d_k = 2일 때 점수 q·k / √d_k는?
- 정답: q·k = 4, 4 / √2 ≈ 2.828.
- 채점 (2점): 내적 1점, 나누기 1점.
Q2. 점수 [1.98, 1.98, 2.772]의 소프트맥스와, V = [10,0], [0,10], [6,6]을 섞은 결과는?
- 정답: 주의 ≈ [0.238, 0.238, 0.525], 결과 ≈ [5.53, 5.53]. 코드 1 출력은 [5.525, 5.525]다.
- 채점 (3점): 소프트맥스 1점, 가중합 식 1점, 값 1점. ±0.01은 정답으로 본다.
Q3. 위치 부호 없이 셀프 어텐션만 쓰면, 단어 순서를 섞었을 때 각 단어의 출력은?
- 모범 답안: 똑같다. 각 단어의 출력은 다른 모든 단어와의 비교로만 정해지고, 비교 대상의 집합은 순서와 상관없이 같다. 코드 1에서 차이는 1e-16, 곧 계산 오차 수준이었다.
- 채점 (2점): 결과 1점, 이유 1점.
Q4. d = 512인 멀티헤드 어텐션 층의 파라미터 수와, 헤드를 16개로 바꿀 때의 변화는?
- 정답: 4 × 512² + 4 × 512 = 1,050,624개. 헤드 수를 바꿔도 같다(헤드 폭만 64 → 32).
- 채점 (2점): 값 1점, "변하지 않음"과 이유 1점.
Q5. 길이가 4,096 → 8,192가 되면 주의 점수 개수는?
- 정답: 4배 (16,777,216 → 67,108,864). 1점.
Colab 과제 예시 답안
기본 과제: √d_k로 나누지 않기
- 도서관 예시에서 나누지 않으면 점수가 √2배가 되어 주의가 한쪽으로 더 쏠린다.
- 벡터를 10배로 키우면 점수가 100배가 되어 소프트맥스가 거의 한 칸에 1을 준다. 그러면 나머지 칸의 기울기가 0에 가까워져 학습이 어려워진다.
- 숫자는 학생이 코드로 계산한 값을 인용하게 한다.
도전 과제: 위치 임베딩 빼기
- 예상: 위치 정보가 없으면 첫 칸이 다른 칸과 구별되지 않는다. 그래서 첫 칸만 골라 볼 수 없고 정답률이 찍기 수준에 가까워질 것으로 예상된다. "첫 칸에 주는 주의"도 1/T 근처로 떨어질 것이다.
- 실제 결과는 실행해서 확인하게 한다. 강사는 수업 전에 직접 한 번 돌려 본다.
- 채점 포인트: 섹션 6의 "순서를 섞어도 같다"와 연결해 설명했는지 본다.
수업 중 자주 나오는 질문
- "LSTM 숫자가 3-7과 왜 다른가요?"
- 3-8 코드 2는 입력 길이를 고정한 모델로 다시 만들었다(3-7은 길이 자유). 그래서 초기 계산 그래프와 난수 소비가 조금 다르다.
- T = 100 결과는 3-7이 48.9 / 47.2%, 3-8이 50.6 / 57.4%다. 둘 다 찍기 수준이라는 결론은 같다.
- "트랜스포머가 이겼으니 LSTM은 이제 안 쓰나요?"
- 이 과제는 정답이 "첫 칸 하나"라서 어텐션에 특히 유리하다.
- 실시간으로 한 칸씩 처리하거나 데이터가 적을 때는 순환 모델이 여전히 쓰인다(3-7 섹션 9).
- "원 논문 기본형의 파라미터 수는요?"
- 이 페이지는 블록 하나(3,152,384개)를 식으로 계산해 보여 준다.