# Part 7: 딥러닝 기초와 PyTorch 용어집 ## 핵심 용어 | 용어 (Term) | 설명 (Description) | | --- | --- | | **딥러닝 (Deep Learning)** | 여러 층(layers)으로 구성된 인공 신경망(Artificial Neural Network, ANN)을 사용하여 복잡한 패턴을 데이터로부터 학습하는 머신러닝의 한 분야입니다. 이미지, 음성, 텍스트와 같은 비정형 데이터 처리에서 뛰어난 성능을 보입니다. | | **PyTorch** | Facebook의 AI 연구팀(FAIR)이 개발한 오픈소스 머신러닝 라이브러리입니다. Python 기반이며, `Tensor` 연산(NumPy와 유사하지만 GPU 지원)과 자동 미분(Autograd) 기능을 통해 유연하고 동적인 신경망 구축 및 학습을 지원합니다. 연구 및 프로토타이핑에 널리 사용됩니다. (비유: 레고 블록) | | **텐서 (Tensor)** | PyTorch에서 데이터를 다루는 기본 단위이자 다차원 배열입니다. NumPy의 `ndarray`와 유사하지만, GPU를 사용한 고속 연산 및 자동 미분 기능을 핵심적으로 지원하여 딥러닝 모델 학습에 필수적입니다. | | **인공 신경망 (Artificial Neural Network, ANN)** | 인간의 뇌 신경망 구조에서 영감을 받아 설계된 계산 모델입니다. 여러 개의 노드(뉴런)들이 서로 연결되어 계층(layer)을 이루며, 입력 데이터로부터 패턴을 학습하여 특정 작업을 수행합니다. | | **`nn.Module`** | PyTorch에서 모든 신경망 모델의 기본이 되는 클래스입니다. 사용자는 이 클래스를 상속받아 자신만의 모델 구조(`__init__`)와 데이터 흐름(`forward`)을 정의합니다. 모델의 파라미터 관리, 저장 및 로드, GPU 이동 등의 기능을 제공합니다. | | **활성화 함수 (Activation Function)** | 신경망의 각 뉴런(또는 노드)에 입력된 신호를 변환하여 다음 뉴런으로 전달할지 여부와 전달할 신호의 크기를 결정하는 함수입니다. 선형 모델에 비선형성을 추가하여 모델의 표현력을 높이는 핵심적인 역할을 합니다. (예: `ReLU`, `Sigmoid`, `Tanh`) | | **손실 함수 (Loss Function / Cost Function)** | 딥러닝 모델의 예측값과 실제 정답(레이블) 사이의 차이, 즉 '오차'를 측정하는 함수입니다. 모델 학습 과정에서 이 손실 함수의 값을 최소화하는 방향으로 모델의 파라미터(가중치)가 업데이트됩니다. (예: `nn.CrossEntropyLoss` - 분류, `nn.MSELoss` - 회귀) | | **옵티마이저 (Optimizer)** | 손실 함수가 계산한 오차(손실 값)를 기반으로, 모델의 파라미터(가중치와 편향)를 효과적으로 업데이트하여 손실을 최소화하는 알고리즘입니다. (예: `Adam`, `SGD`, `RMSprop`) | | **순전파 (Forward Propagation)** | 인공 신경망에서 입력 데이터가 입력층에서 시작하여 은닉층들을 거쳐 출력층까지 전달되면서 각 층에서 가중치와 곱해지고 활성화 함수를 통과하여 최종 예측값을 계산하는 과정입니다. | | **역전파 (Backward Propagation)** | 순전파를 통해 계산된 예측값과 실제 정답 사이의 오차(손실)를 기반으로, 이 오차에 각 파라미터가 얼마나 기여했는지를 출력층부터 입력층 방향으로 거슬러 올라가며 계산하는 과정입니다(미분을 사용). 이 결과를 바탕으로 옵티마이저가 파라미터를 업데이트합니다. 딥러닝 학습의 핵심 알고리즘입니다. | | **에포크 (Epoch)** | 전체 훈련 데이터셋이 신경망 모델을 통해 한 번 완전히 통과(순전파 및 역전파)된 횟수를 의미합니다. 즉, 모든 훈련 샘플이 학습에 한 번 사용되면 1 에포크가 완료된 것입니다. | | **CNN (Convolutional Neural Network / 합성곱 신경망)** | 이미지 인식 및 처리에 특화된 딥러닝 모델 아키텍처입니다. 입력 데이터에서 특징(feature)을 추출하는 합성곱 계층(Convolutional Layer)과 풀링 계층(Pooling Layer)을 사용하여 공간적 계층 구조를 효과적으로 학습합니다. | --- *이 용어집은 `geumdo_docs/ai lecture/part_7_deep_learning.md` 파일 내용을 기반으로 작성되었습니다.*