본문 바로가기
  • You find inspiration to create your own path !
업무 자동화/AI

딥러닝 #1

by ToolBOX01 2026. 4. 21.
반응형

컴퓨터가 사람처럼 스스로 학습하고 판단할 수 있도록 만드는 기술입니다. '인공지능'이라는 커다란 범주 안에 '머신러닝'이 있고, 그 안에 더 깊게 들어간 것이 바로 '딥러닝'입니다.

 

 

쉬운 비유: '천 개의 필터가 있는 깔때기

어린아이에게 고양이 사진을 보여주면 처음에는 잘 모르지만, 여러 번 보여주면 나중에는 어떤 고양이를 봐도 "고양이다!"라고 맞히죠? 딥러닝도 이 과정과 똑같습니다.

▶입력: 수만 장의 고양이 사진을 컴퓨터에 넣습니다.

▶ 과정: 인공 신경망이라는 '수많은 필터'를 통과시킵니다. 
              첫 번째 필터는 '뾰족한 귀'를 찾아내고, 두 번째 필터는 '긴 수염'을 찾아내는 식입니다.

▶ 결과: 이 모든 특징이 조합되면 컴퓨터가 "이건 99% 확률로 고양이네!"라고 결론을 내립니다.

 

 

핵심 구성 요소

딥러닝은 우리 뇌의 신경세포(뉴런)가 연결된 모습을 본떠 만든 '인공 신경망' 구조를 사용합니다.

▶ 입력층(Input Layer): 데이터를 받아들이는 곳 (예: 사진의 픽셀 정보)

▶ 은닉층(Hidden Layer): 
    실제로 데이터를 분석하고 특징을 추출하는 곳입니다. 층이 아주 깊고 많아서 'Deep'러닝이라고 부릅니다.

▶ 출력층(Output Layer): 최종 판단 결과를 내놓는 곳 (예: "개" 혹은 "고양이")

 

왜 딥러닝이 특별할까요?

기존 방식과 딥러닝의 가장 큰 차이는 "누가 가르쳐주는가"에 있습니다.

구분 일반 머신러닝(예시 지도학습) 딥러닝
특징 추출 사람이 직접 가르쳐줌 ("귀가 뾰족하면 고양이야")
컴퓨터가 스스로 특징을 찾아냄
데이터 양 적은 데이터로도 가능
엄청나게 많은 데이터가 필요함
성능 어느 수준에서 정체됨
데이터가 많아질수록 계속 똑똑해짐

 


딥러닝 학습 프로세스 이해

■ Feed Forward(순전파) : 

우리가 인공지능에게 질문을 던졌을 때, 인공지능이 머릿속(신경망)을 거쳐 답변을 내놓는 그 순간이 바로 피드 포워드가 일어나고 있는 순간입니다. 입력값(Input)과 가중치(Weight) 및 편향(Bias)을 이용하여 예측 값을 계산하는 과정 입니다.

1. 이해를 돕는 비유: '라면 끓이기'

▶ 입력값(Input):
     라면 사리, 스프, 물의 양 (우리가 넣어주는 데이터)

▶ 가중치(Weight): 
     "스프는 맛에 아주 중요하니까 곱하기 2를 하고, 면은 보통이니까 그대로 두자"처럼 각 재료가 결과에 미치는 중요도입니다.

▶ 편항(Bias): 
    "나는 기본적으로 좀 짜게 먹는 편이야"처럼 결과에 더해지는 "개인적인 취향(기본값)"입니다.

▶ 과정: 
재료들을 넣고(Input), 중요도를 곱하고(Weight), 기본 성향을 더해서(Bias) "최종 라면의 맛(예측값)"을 내놓는 것.
이것이 바로 Feed Forward입니다.  최종 라면의 맛(예측값) = 재료들을 넣고(Input) * 가중치(Weight) + 편항(Bias)
  

 

2.핵심 원리 (수식의 흐름)

데이터가 뒤로 돌아가지 않고 오직 **앞으로(Forward)**만 전달되기 때문에 '순전파'라고 부릅니다.

▶ 전달: 데이터가 들어옵니다.계산: 각 데이터에 중요도(가중치)를 곱하고 기본값(편향)을 더합니다.

▶ 공식 느낌: Y = (Input * Weight) + Bias

▶ 결과: 최종적으로 "이 사진은 고양이일 확률이 90%입니다"와 같은 예측값을 출력합니다.

  • 0.5 ~ 0.7: "고양이일 가능성이 있습니다." (불안정한 예측)
  • 0.8 ~ 0.9: "고양이일 확률이 높습니다." (안정적인 예측)
  • 0.95 이상: "고양이일 확률이 매우 높습니다." (매우 강한 확신)

 

 

3. 노드를 구성 하는 히든 레이어 깊이 누가 정의 하나

히든 레이어(Hidden Layer)의 개수와 그 안에 들어가는 노드(뉴런)의 숫자는 개발자가 직접 결정해야 하는 '하이퍼파라미터(Hyperparameter)'입니다.인공지능이 스스로 학습을 통해 가중치(W)와 편향(b)을 찾아내긴 하지만, 그 학습이 일어날 '공간의 구조'는 사람이 설계해줘야 합니다.

1. 히든 레이어 설정의 기본 원리

개발자는 해결하려는 문제의 복잡도에 따라 레이어 구조를 설계합니다.

  • 입력층(Input Layer): 데이터의 특성(Feature) 개수에 맞게 고정됩니다.
  • 히든 레이어(Hidden Layer):
    • 개수: 레이어가 많아질수록 모델이 더 복잡하고 추상적인 특징을 포착할 수 있습니다(Deep Learning).
    • 노드 수: 각 레이어에 몇 개의 뉴런을 둘지도 설정합니다. 보통 입력층에서 출력층으로 갈수록 노드 수를 서서히 줄이거나 늘리는 등 다양한 전략을 씁니다.
  • 출력층(Output Layer): 해결하려는 문제(분류, 회귀 등)의 결과 형식에 맞게 고정됩니다.

2. 레이어를 무조건 많이 넣으면 좋을까?

많이 넣는다고 무조건 성능이 좋아지는 것은 아닙니다. 여기서 개발자의 실력이 드러납니다.

  • 레이어가 너무 적으면 (Underfitting): 복잡한 데이터를 충분히 학습하지 못합니다. (예: 고양이의 미세한 특징을 잡아내지 못함)
  • 레이어가 너무 많으면 (Overfitting): 앞서 말씀드린 '과적합'이 발생하기 쉽습니다. 학습 데이터에만 너무 집착하게 되고, 계산량만 늘어나 학습 속도가 매우 느려집니다.

3. 개발자는 어떻게 최적의 수량을 결정하나?

현실적으로 "정답"이 정해져 있지 않기 때문에 개발자들은 다음과 같은 방법을 사용합니다.

  1. 경험적 규칙(Heuristics): 기존에 성능이 잘 나왔던 유명한 모델 구조(ResNet, VGG 등)를 참고하여 변형합니다.
  2. 실험(Trial and Error): 레이어 수를 바꿔가며 여러 번 학습시켜보고, 검증 데이터(Validation Set)의 손실 함수값이 가장 낮은 구조를 선택합니다.
  3. AutoML: 최근에는 인공지능이 최적의 레이어 구조를 직접 찾아주는 기술을 사용하기도 합니다.

4. 팁: M1 맥 미니(8GB) 환경이라면?

 M1 맥 미니 8GB 환경에서 직접 실습하신다면, 히든 레이어를 너무 깊게 쌓기보다는 2~3층 정도로 시작하여 메모리 점유율과 학습 속도를 모니터링하며 늘려가시는 것을 권장합니다. 레이어가 깊어질수록 계산량이 기하급수적으로 늘어나 8GB 메모리에서는 병목 현상이 발생할 수 있기 때문입니다.

 

4. 노드에 적용해야 하는 활성화 함수 

 

손실 함수(Loss Function) 값이 매우 작다는 것은 모델이 정답을 아주 잘 맞히고 있다는 뜻입니다. 하지만 안타깝게도 "손실 값이 낮다 = 가중치가 완벽하게 최적화되었다"라고 항상 단정 지을 수는 없습니다.

여기에는 인공지능 학습의 가장 큰 함정인 '과적합(Overfitting)'과 '국소 최솟값(Local Minima)'이라는 개념이 숨어 있기 때문입니다.

 


■ 'Back Propagation(오차 역전파) :

손실 함수를 통해 계산된 결과와 Gradient Descent(경사 하강법) 알고리즘을 이용하여 현재 상태에서의 최적의 Weight를 계산하고 업데이트 하는 과정 입니다. 결과가 틀렸을 때, 거꾸로 돌아가면서 '어떤 설정을 바꿔야 다음에 안 틀릴까?'를 계산해 인공지능을 공부(업데이트)시키는 핵심 과정"

1. 이해를 돕는 비유: " 양궁 선수의 화살 쏘기"

▶ 순전파(Feed Forward): 일단 쏘기
선수가 조준해서 화살을 쐈습니다. 결과는 과녁의 중심에서 10cm 벗어난 곳에 맞았습니다.

▶ 손실 함수(Loss Function): 틀린 정도 확인
"중심에서 10cm나 멀어졌네?"라고, 실제 정답(과녁 중심)과 내 화살 사이의 거리(오차)를 계산합니다.

▶ 역전파(Back Propagation): 원인 분석
이제 결과물에서부터 거꾸로 되짚어 갑니다.
"왜 10cm나 빗나갔지? 아, 손가락에 힘이 너무 많이 들어갔고(가중치 1), 바람 계산을 잘못했네(가중치 2)."

▶ 경사 하강법(Gradient Descent): 조절하기
다음번엔 오차를 줄이기 위해 손가락 힘은 조금 빼고, 조준은 오른쪽으로 살짝 옮깁니다.

 

 

오차 역전파는 결과가 나온 뒤에 "어디서부터 틀렸는지 거꾸로(Back) 거슬러 올라가며 범인을 찾는 과정"입니다.

Gradient Descent(경사 하강법)는 그 범인(틀린 가중치)을 조금씩 수정해서 오차라는 골짜기의 가장 바닥(최적의 상태)으로 내려가는 방법입니다.

 

반응형

'업무 자동화 > AI' 카테고리의 다른 글

딥러닝 #2  (0) 2026.04.21
기계학습 용어들 - 상관관계  (0) 2026.03.26
기계학습 용어들  (0) 2026.03.26
기계학습 (머신러닝(Machine Learning)) 개념  (0) 2026.03.26
자동차 연비를 예측 하는 프로그램 #1  (0) 2026.03.15