
신경망의 기초
신경망의 동작 원리를 프로젝트 경험을 통해 이해한 과정. 공장 라인 비유부터 역전파, 하이퍼파라미터 튜닝까지.

신경망의 동작 원리를 프로젝트 경험을 통해 이해한 과정. 공장 라인 비유부터 역전파, 하이퍼파라미터 튜닝까지.
AI 시대의 금광, 엔비디아 GPU. 도대체 게임용 그래픽카드로 왜 AI를 돌리는 걸까? 단순 노동자(CUDA)와 행렬 계산 천재(Tensor)의 차이로 파헤쳐봤습니다.

LLM 커스터마이징 방법인 파인튜닝과 프롬프트 엔지니어링의 차이와 선택 기준

AI와 딥러닝은 왜 CPU를 버리고 GPU를 선택했을까요? ALU 구조 차이부터 CUDA 메모리 계층, 그래픽 API(Vulakn/DirectX), 그리고 생성형 AI의 원리까지 하드웨어 가속의 모든 것을 다룹니다.

순환 신경망(RNN)과 LSTM의 동작 원리를 프로젝트 경험을 통해 이해한 과정

이미지 분류 프로젝트를 진행하는데, 기존 머신러닝 방법(SVM, Random Forest)으로는 정확도가 낮았습니다. 주변에서 "신경망(Neural Network)을 써보라"는 조언을 들었지만, 솔직히 막막했습니다.
구글에 검색해보니 "인간 뇌의 뉴런을 모방한 것"이라는 설명만 가득했습니다. 하지만 개발자인 저에게 그 말은 하나도 와닿지 않았습니다. "그래서 코드로 어떻게 생겼는데? 뉴런이 어떻게 고양이랑 강아지를 구분하는데?"
결국 바닥부터 파보면서, 실제로 간단한 신경망을 만들어보고 나서야 이해했습니다. 신경망은 마법이 아니라, "여러 단계의 계산을 거쳐 답을 찾아가는 거대한 함수"였습니다.
저에게 깨달음을 준 비유는 "공장 조립 라인"이었습니다.
신경망 = 거대한 공장 조립 라인학습(Training)이란? 처음 공장을 가동하면(초기화), 설정값이 엉망이라 고철 덩어리(틀린 답)가 나옵니다. 품질 관리자(Loss Function)가 "야! 이거 자동차가 아니라 찌그러진 깡통이잖아!" 라고 소리칩니다. 그러면 공장장(Optimizer)이 출구에서부터 입구 쪽으로 거슬러 올라가며(역전파), 각 기계의 설정값(가중치)을 조금씩 수정합니다. "도색 기계 압력이 너무 셌네, 좀 줄여." "용접 온도가 너무 낮았네, 좀 올려."
이 과정을 수만 번 반복하면, 결국 완벽한 자동차를 만드는 공장이 됩니다. 이것이 신경망 학습입니다.
입력층(Input) → 은닉층(Hidden) → ... → 은닉층(Hidden) → 출력층(Output)
실제 예시: 손글씨 숫자 인식 (MNIST)
하나의 뉴런은 아주 단순한 연산을 수행합니다.
# 하나의 뉴런의 동작
def neuron(inputs, weights, bias):
# 1. 가중합 (Weighted Sum): 입력과 가중치를 곱하고 편향을 더함
# y = w1*x1 + w2*x2 + ... + b
weighted_sum = sum(i * w for i, w in zip(inputs, weights)) + bias
# 2. 활성화 함수 (Activation): 결과를 변환
output = activation(weighted_sum)
return output
단순 선형 계산만 반복하면 아무리 층을 깊게 쌓아도 하나의 선형 함수와 같아집니다. 비선형성(구부러짐)을 줘야 복잡한 패턴을 배울 수 있습니다.
max(0, x). 음수면 0, 양수면 그대로. 가장 많이 쓰입니다. 학습이 빠릅니다.현재 모델이 얼마나 틀렸는지를 측정하는 지표입니다.
이게 마법의 핵심입니다.
기존 가중치 - 학습률 * 기울기)모델의 구조만큼 중요한 것이 하이퍼파라미터(설정값) 튜닝입니다.
가중치를 한 번에 얼마나 수정할지 결정합니다.
0.001이나 0.0001부터 시작해서 조정하세요. Adam Optimizer를 쓰면 알아서 조절해줍니다.한 번에 몇 개의 데이터를 보고 수정할지 결정합니다.
모델이 학습 데이터만 달달 외워서 실제로 엉망이 되는 현상입니다.