LLM 엔지니어링2장 · 신경망과 딥러닝의 기본 원리2 / 23← 이전목차다음 →MetaContents

2장. 신경망과 딥러닝의 기본 원리

용어 짚고 가기

  • 딥러닝(deep learning)층을 여러 겹 쌓은 신경망으로 하는 머신러닝입니다. deep 은 "깊은"이라는 뜻으로, 층이 깊게 쌓였다는 데서 왔습니다.
  • 인공 뉴런(artificial neuron)입력에 가중치를 곱해 더하고, 편향을 더한 뒤 활성화 함수를 지나 값을 내는 계산 단위입니다. neuron 은 뇌의 "신경 세포"라는 뜻으로, 신경 세포를 흉내 낸 계산 단위라는 데서 왔습니다.
  • 가중치(weight)입력마다 곱하는 중요도입니다. 학습으로 바뀌는 값입니다. weight 는 "무게"라는 뜻입니다.
  • 편향(bias)가중합에 더하는 값입니다. 문턱을 옮기는 역할을 합니다. bias 는 "한쪽으로 치우침"이라는 뜻입니다.
  • 가중합(weighted sum)입력과 가중치를 곱해 모두 더한 값입니다. weighted sum 은 "무게를 매겨 더한 합"이라는 뜻입니다.
  • 활성화 함수(activation function)가중합을 다음 층으로 얼마나 넘길지 정하는 함수입니다. ReLU, 시그모이드가 대표적입니다. activation 은 "깨워 움직이게 함"이라는 뜻으로, 신경 세포가 신호를 내보내는 일에 빗댄 말입니다.
  • ReLU(Rectified Linear Unit)음수는 0 으로, 양수는 그대로 넘기는 활성화 함수입니다. Rectified(음수를 잘라 낸), Linear(직선의), Unit(단위)의 머리글자입니다.
  • 시그모이드(sigmoid)어떤 값이든 0 과 1 사이로 눌러 주는 활성화 함수입니다. sigmoid 는 "S 자 모양의"라는 뜻으로, 그래프가 S 자를 닮아 붙은 이름입니다.
  • 입력층(input layer)특성이 들어오는 층입니다. input 은 "들어오는 것", layer 는 "층, 겹"이라는 뜻입니다.
  • 은닉층(hidden layer)입력층과 출력층 사이의 층입니다. 바깥에서 값이 보이지 않아 붙은 이름입니다. hidden 은 "숨겨진"이라는 뜻입니다.
  • 출력층(output layer)예측을 내는 마지막 층입니다. output 은 "내보내는 것"이라는 뜻입니다.
  • 파라미터(parameter)학습으로 바뀌는 모든 값(가중치와 편향)입니다. para(곁)와 meter(재다)가 붙은 말로, 계산의 모양을 정하는 값을 뜻합니다.
  • 순전파(forward propagation)입력이 층을 차례로 지나 예측이 되는 계산입니다. forward 는 "앞으로", propagation 은 "퍼져 나감"이라는 뜻입니다. forward pass 라고도 합니다.
  • 손실 함수(loss function)예측이 정답과 얼마나 다른지 숫자 하나로 재는 함수입니다. loss 는 "잃음, 손해"라는 뜻입니다.
  • MSE(Mean Squared Error)오차를 제곱해 평균 낸 손실입니다. 회귀에 씁니다. 평균 제곱 오차라고 하며, Mean(평균), Squared(제곱한), Error(오차)의 머리글자입니다.
  • 교차 엔트로피(cross entropy)정답 칸에 준 확률이 낮을수록 커지는 손실입니다. 분류에 씁니다. entropy 는 정보이론에서 "불확실한 정도"를 뜻하고, cross 는 정답의 분포와 예측의 분포를 엇갈려 쓴다는 뜻입니다.
  • 기울기(gradient)가중치를 조금 바꿨을 때 손실이 얼마나, 어느 방향으로 바뀌는지 나타내는 값입니다. gradient 는 "비탈의 경사"라는 뜻입니다.
  • 경사하강법(gradient descent)기울기의 반대 방향으로 가중치를 조금씩 고쳐 손실을 줄이는 방법입니다. gradient 는 "경사", descent 는 "내려감"으로, 비탈을 따라 내려간다는 뜻입니다.
  • 학습률(learning rate)경사하강법에서 한 번에 얼마나 크게 고칠지 정하는 값입니다. rate 는 "비율, 빠르기"라는 뜻입니다.
  • 역전파(backpropagation)출력의 오차를 거꾸로 전해 가중치마다 기울기를 구하는 방법입니다. back(뒤로)과 propagation(퍼져 나감)을 붙인 말입니다.
  • 자동 미분(automatic differentiation)계산 과정을 기록해 두었다가 기울기를 자동으로 구해 주는 기능입니다. differentiation 은 "미분"이라는 뜻입니다. PyTorch 의 backward() 가 이것입니다.
  • 에포크(epoch)학습용 데이터 전체를 한 번 다 도는 것입니다. epoch 는 "한 시대, 한 주기"라는 뜻입니다.
  • 배치(batch)한 번의 갱신에 쓰는 데이터 묶음입니다. batch 는 "한 번에 구워 내는 한 판, 한 묶음"이라는 뜻입니다.
  • 옵티마이저(optimizer)기울기를 받아 가중치를 고치는 도구입니다. SGD, Adam 이 있습니다. optimize 는 "가장 좋게 만들다"라는 뜻이고, SGD 는 Stochastic Gradient Descent(확률적 경사하강법)의 머리글자입니다.
  • 텐서(tensor)PyTorch 에서 숫자를 담는 칸의 묶음입니다. 숫자 하나, 한 줄, 표, 표를 여러 장 쌓은 것처럼 차원이 있습니다. NumPy 배열과 비슷하고 GPU 로 옮길 수 있습니다. tensor 는 수학에서 여러 차원의 숫자 묶음을 부르는 이름을 가져온 것입니다.
  • PyTorch신경망을 만들고 학습시키는 파이썬 라이브러리입니다. 불러올 때 이름은 torch 입니다. Python 과, 먼저 나온 신경망 라이브러리 Torch 를 붙인 이름입니다.
  • GPU(Graphics Processing Unit)단순한 계산 수천 개를 한꺼번에 하는 그래픽 처리 장치입니다. 신경망 학습을 빠르게 합니다. Graphics(그래픽), Processing(처리), Unit(장치)의 머리글자입니다.
  • CUDANVIDIA GPU 에서 계산을 하게 해 주는 기술입니다. PyTorch 에서 GPU 를 "cuda" 라고 부릅니다. 처음에는 Compute Unified Device Architecture(계산용 통합 장치 구조)의 머리글자였습니다.
← 이전 절2장 · 먼저 큰 그림부터다음 절 →2장 · 딥러닝이란