본문 바로가기
C.W.K.
Stream
Lesson 06 of 06 · published

선형 회귀에서 딥러닝까지

~6 min · deep-learning, neural-networks, wrap-up

Level 0수학 초심자
0 XP0/59 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete

이어지는 학습 골격

선형회귀에서 본 네 요소는 많은 딥러닝 문제에도 이어져.

  1. 입력을 출력으로 바꾸는 매개변수화된 모형을 정해.
  2. 과제에 맞는 손실함수를 골라.
  3. 자동미분과 최적화기로 매개변수를 갱신해.
  4. 학습에 쓰지 않은 자료와 배포 지표로 일반화를 평가해.

신경망은 선형변환 사이에 비선형 활성, 정규화, 어텐션, 잔차연결 같은 연산을 합성해. 선형층만 여러 개 쌓으면 전체도 하나의 선형변환으로 합쳐지므로 비선형성이 표현력을 넓혀.

모든 학습을 한 문장에 가두진 마

선형회귀에서 보인 것딥러닝에서 넓어지는 것
선형 예측식비선형 층과 구조화된 계산그래프
MSE분류·생성·대조학습 등 과제별 목적함수
직접해 또는 반복 최적화미니배치 확률적 최적화와 학습률 스케줄
고정된 표 데이터이미지·문장·시계열·상호작용 자료

GPT의 사전학습은 사람이 붙인 정답으로 배우는 전통적 지도학습보다, 텍스트 자체에서 다음 토큰 목표를 만드는 자기지도학습으로 설명하는 편이 정확해. 목표가 자동으로 생겨도 모형·손실·최적화의 골격은 남아.

트랙을 닫으며

학습은 데이터에 모형을 맞추는 것만으로 끝나지 않아. 무엇을 예측하고 어떤 오류를 줄이며 어디에서 성능을 확인할지까지 하나의 설계야. 다음 트랙에서는 그 손실이 각 매개변수로 어떻게 전달되는지 미분으로 파고들어.

Code

선형층과 비선형층을 쌓은 신경망·python
import torch
import torch.nn as nn

# 2-layer 신경망 — stack 된 선형 회귀
class TinyNet(nn.Module):
    def __init__(self):
        super().__init__()
        self.fc1 = nn.Linear(10, 32)        # 선형 회귀 #1
        self.fc2 = nn.Linear(32, 1)         # 선형 회귀 #2

    def forward(self, x):
        x = torch.relu(self.fc1(x))         # 사이의 비선형
        return self.fc2(x)

# 두 선형 회귀 + 한 ReLU = 신경망.

External links

Exercise

특성 10개를 받는 선형회귀와 10 → 32 → 1 완전연결망의 매개변수 수를 각각 계산해. 은닉층 사이에 비선형 활성을 넣은 경우와 넣지 않은 경우의 표현력 차이도 설명해.
Hint
선형회귀는 가중치 10개와 편향 1개로 11개야. 신경망은 10×32+32 + 32×1+1 = 385개고, 비선형 활성이 없으면 두 affine 층도 affine 변환 하나로 합칠 수 있어.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.