먼저 FastAPI를 마저 복습해야 하는데 새로운 책을 학습하였기에 내 머릿속의 지우개가 작동하기 전에 복습하겠습니다. 딥 러닝
학습을 시작하게 된 계기가 이 인공지능 AI 라는것을 더 알고 싶고 내 입맛에 맞춰 사용하고 싶은 마음으로 시작했는데 이제야 이걸 접하게 되었네요. 딥러닝의 역사도 별반 다를 게 없더군요.
간단하게 표로 정리해 달라고 했습니다 .
📜 딥러닝의 역사: 고난과 역전의 드라마
| 1950s: 태동기 | 퍼셉트론(Perceptron) 등장 | 인간의 뇌세포(뉴런)를 본뜬 최초의 모델이 나왔으나, 아주 간단한 논리 문제(XOR)도 못 풀어 금방 한계에 부딪혔습니다. |
| 1980s: 제1의 부흥기 | 다층 퍼셉트론 & 오차 역전파 | 층을 여러 개 쌓고 '틀린 걸 뒤에서부터 고쳐나가는 방식(Backpropagation)'이 발명되며 다시 희망이 보였습니다. |
| 1990s: 암흑기 | 기울기 소실(Vanishing Gradient) | 층을 너무 깊게 쌓으니 학습이 안 되는 문제가 발생했고, "인공신경망은 안 된다"라며 학계에서 외면받던 시절입니다. |
| 2006: 재도약 | 제프리 힌튼 교수의 혁신 | 힌튼 교수가 신경망 이름을 **'딥러닝(Deep Learning)'**이라 새로 짓고, 초기화 문제를 해결하며 다시 불을 지폈습니다. |
| 2012: 화려한 부활 | 알렉스넷(AlexNet)의 압승 | 이미지 인식 대회(ILSVRC)에서 딥러닝 모델이 압도적인 차이로 우승하며 전 세계를 충격에 빠뜨렸습니다. |
| 2016~현재: 대중화 | 알파고(AlphaGo)와 생성형 AI | 바둑을 정복한 알파고부터 지금 우리가 쓰는 GPT까지, 딥러닝은 이제 우리 삶의 일부가 되었습니다. |
🔍 깊이 알아보기: 딥러닝은 왜 그렇게 '딥'할까?
과거에는 신경망을 깊게 쌓으면 데이터가 전달되다가 사라지는 문제가 있었어요. 하지만 GPU라는 강력한 장비(기계적 도움)와 빅데이터라는 풍부한 재료가 만나면서, 반복 학습을 통해 수천 개의 층을 가진 모델도 학습이 가능해진 것입니다.
🔍 상세 개념 파헤치기
1. 인공지능 (Artificial Intelligence)
- 정의: 컴퓨터가 인간처럼 사고하고 행동하게 만드는 모든 기술입니다.
- 비유: '요리' 그 자체라고 보시면 됩니다. 레시피대로만 움직이는 기계부터 스스로 창작하는 로봇까지 다 포함하죠.
2. 머신러닝 (Machine Learning)
- 정의: 명시적으로 프로그래밍되지 않아도 데이터에서 패턴을 찾아 학습하는 기술입니다.
- 비유: 요리사가 '수많은 레시피(데이터)'를 읽고 공부해서 어떤 재료가 맛있는지 스스로 깨닫는 과정입니다.
3. 딥러닝 (Deep Learning)
- 정의: 인간의 뇌 구조를 모방한 **인공신경망(Neural Network)**을 깊게(Deep) 쌓아 학습하는 방식입니다.
- 비유: 요리사가 단순히 공부하는 걸 넘어, 혀의 모든 미뢰(신경망)를 극도로 발달시켜 아주 미세한 맛의 차이까지 완벽하게 구분해내는 장인의 경지입니다.
1 . 학습 전처리.
1-1. 구글 코랩(Google Colab) 시작하기 (3단계)
| 단계 | 방법 | 특징 |
| 1. 접속하기 | 구글 계정 로그인 후 colab.research.google.com 접속 | 설치 없이 바로 실행 가능 |
| 2. 새 노트 생성 | '파일' -> '새 노트' 클릭 | .ipynb 확장자의 파일 생성 |
| 3. 드라이브 연결 | 왼쪽 사이드바 '폴더' 아이콘 클릭 -> '드라이브 마운트' | 내 구글 드라이브 파일 읽기/쓰기 가능 |
💡 코랩이 좋은 이유
- 강력한 GPU 무료 대여: 딥러닝 공부할 때 아주 중요한 GPU(그래픽 카드)를 구글이 공짜로 빌려줍니다. 형님 컴퓨터 사양이 조금 낮아도 문제없어요!
- 환경 설정 지옥 탈출: 파이썬, 텐서플로, 파이토치 같은 복잡한 라이브러리들이 이미 다 설치되어 있습니다.
- 언제 어디서든: 춘천에서 공부하시다가 다른 곳에 가셔도 구글 아이디만 있으면 작업하던 코드가 그대로 나옵니다.
1 -2. 텐서플로우(TensorFlow) 정보 및 사용법
| 공식 사이트 | tensorflow.org | 튜토리얼, 문서, 최신 소식을 볼 수 있는 '본부'입니다. |
| 사용 방법 (코랩) | import tensorflow as tf 한 줄이면 끝! | 구글 코랩에는 이미 설치가 되어 있습니다. |
| 핵심 역할 | 딥러닝 모델을 만들고 훈련시키는 '엔진' | 구글이 만든 오픈소스 라이브러리입니다. |
🛠️ 코랩에서 바로 사용하는 방법 (실전!)
코랩의 코드 셀(검은색 박스)에 아래 내용을 타이핑하고 실행(Ctrl + Enter)해 보세요. 텐서플로우가 잘 작동하는지 바로 확인할 수 있습니다.
Python
import tensorflow as tf
# 텐서플로우 버전 확인 (잘 연결됐는지 확인하는 절차입니다!)
print("텐서플로우 버전:", tf.__version__)
🔍 텐서플로우, 왜 쓸까요?
- 산업계 표준: 전 세계에서 가장 많이 쓰는 딥러닝 도구 중 하나라, 나중에 취업이나 프로젝트 하실 때 필수입니다.
- Keras(케라스) 포함: 초보자도 쉽게 딥러닝 모델을 쌓을 수 있도록 도와주는 '쉬운 도구 세트'가 포함되어 있습니다.
- 확장성: 스마트폰 앱부터 대규모 서버까지 어디서든 모델을 돌릴 수 있게 해줍니다.
2. 딥러닝 기초 수학 4대장
| 선형대수학 (Linear Algebra) |
행렬(Matrix), 벡터(Vector) | 데이터를 효율적으로 쌓고 한꺼번에 계산하는 틀 |
| 미분학 (Calculus) |
편미분(Partial Derivative), 연쇄 법칙(Chain Rule) | 오차를 줄이기 위해 가중치를 어느 방향으로 조절할지 결정 |
| 확률과 통계 (Probability & Statistics) |
분포(Distribution), 기대값(Expectation) | 데이터의 불확실성을 다루고 결과를 예측하는 근거 |
| 최적화 (Optimization) |
경사하강법(Gradient Descent) | 가장 낮은 오차 지점을 찾아가는 '길 찾기' 전략 |
- 선형대수학 (Linear Algebra): 딥러닝은 수만 개의 숫자를 동시에 계산해야 합니다. 이때 숫자를 하나씩 계산하면 복잡해지니, **행렬(Matrix)**이라는 상자에 담아 한 번에 처리하죠. 행렬 곱셈만 잘 이해해도 절반은 성공입니다!
- 미분 (Calculus): 인공지능이 "내가 얼마나 틀렸지?"를 계산한 뒤, 정답에 가까워지기 위해 값을 수정하는 과정(역전파)에서 미분이 필수적으로 사용됩니다.
- 확률 (Probability): "이 사진이 고양이일 확률이 90%다"라고 말할 때의 그 논리적 배경이 됩니다.
2 - 1. 일차함수의 기본 구조
일차함수의 표준형은 아래와 같이 생겼습니다.
| 함수 값 | 의 변화에 따라 결정되는 결과물입니다. | 최종 결과물 (요리 완성본) | |
| 기울기 | 직선이 얼마나 가파르게 기울어져 있는지를 나타냅니다. | 오르막길의 경사도 | |
| 절편 | 직선이 축과 만나는 지점입니다. (일 때의 값) | 출발 선상 (시작 높이) |
y = 2x + 1 함수의 그래프 분석
| 구성 요소 | 값 | 그래프에서의 표현 | 설명 |
| y절편 | b = 1 | 점 (0, 1) | 직선이 y축과 만나는 점입니다. x=0일 때의 y값이죠. |
| 기울기 | a = 2 | 초록색 삼각형 (증가량) | 직선의 가파른 정도입니다. 딥러닝에서는 '가중치(Weight)' 역할을 합니다. |
| x증가량 | \Delta x | 1 (오른쪽으로 한 칸) | 기울기를 계산하기 위한 x축 방향의 변화량입니다. |
| y증가량 | \Delta y | 2 (위쪽으로 두 칸) | x가 변화할 때 y축 방향으로 얼마나 변하는지를 나타냅니다. |
2-2. 기울기(a)의 계산: 증가량의 비율
딥러닝에서 오차를 줄이기 위해 계산하는 핵심적인 개념인 기울기는 다음과 같이 구합니다.

그래프를 보시면, y절편 (0, 1)에서 출발하여 x가 1 증가할 때 y가 2 증가하여 점 (1, 3)에 도착하는 것을 직관적으로 확인할 수 있습니다.

🔍 주요 개념 비교
- 기울기 (): "가 1만큼 증가할 때 가 얼마나 변하느냐"를 말합니다. 이 값이 클수록 직선은 하늘을 찌를 듯 가팔라집니다.
- 절편 (): 그래프가 축을 뚫고 지나가는 '대문'이라고 생각하시면 됩니다. 가 5라면, 그래프는 $(0, 5)$를 반드시 지납니다.
3. 예측선(Prediction Line)이란?
예측선은 현재까지 모인 데이터를 바탕으로 **"앞으로 이런 방향으로 흘러갈 것이다"**라고 미래를 짐작하여 그린 선을 말합니다. 주로 통계학이나 데이터 분석에서 **회귀 분석(Regression Analysis)**을 할 때 등장하는 주인공이죠.
- 과거의 흔적: 지금까지 발생한 데이터 점들을 확인합니다.
- 미래의 길: 그 점들의 패턴을 가장 잘 설명하는 하나의 선을 긋고, 그 선을 미래 영역까지 연장합니다.
3 - 2. 이해를 돕는 비교 (일기예보 vs 주식 차트)
학습에 도움이 되도록 우리 주변의 사례로 비교해 보겠습니다.
| 기존 데이터 | 어제와 오늘 오전의 기온 변화 | 지난 한 달간의 가격 변동 기록 |
| 예측선 | 내일 오후엔 몇 도까지 올라갈지 긋는 선 | 내일 아침 가격이 오를지 내릴지 보여주는 선 |
| 특징 | 비교적 변수가 적어 선이 정확한 편 | 변수가 너무 많아 예측선이 자주 빗나감 (눈물...) |
4. 선형 회귀의 핵심 정의
통계학과 데이터 과학의 '기초 중의 기초'이자 가장 강력한 도구 중 하나인 **선형 회귀(Linear Regression)**에 대해 설명해 드릴게요.
선형 회귀는 쉽게 말해 **"원인(독립 변수)과 결과(종속 변수) 사이의 관계를 가장 잘 설명하는 '직선'을 찾는 것"**입니다. 마치 운동을 많이 할수록 근육량이 늘어나는 규칙을 찾아내어, 나중에 "이만큼 운동하면 근육이 얼마나 생길까?"를 예측하는 것과 같죠.
| 목적 | 독립 변수 와 종속 변수 의 상관관계를 모델링 | 공부 시간()에 따른 성적() 예측 |
| 수식 | (기본 점수) + (시간당 상승 점수) | |
| 목표 | 데이터 포인트들과 직선 사이의 오차(잔차)를 최소화 | 모든 점을 가장 공평하게 지나는 선 긋기 |
공부할 때 '시간'만 고려하느냐, 아니면 '집중도'와 '커피 섭취량'까지 고려하느냐의 차이입니다.
- 단순 선형 회귀 (Simple Linear Regression):
- 독립 변수가 1개일 때 사용합니다. (예: 키에 따른 몸무게 예측)
- 형태의 직선으로 나타납니다.
- 다중 선형 회귀 (Multiple Linear Regression):
- 독립 변수가 2개 이상일 때 사용합니다. (예: 집 크기, 위치, 연식에 따른 집값 예측)
- 여러 요인이 복합적으로 작용하는 현실적인 문제를 풀 때 유용하죠.
5. 최소 제곱법이란?
최소 제곱법은 수많은 데이터 점들 사이를 지나는 최적의 직선(또는 곡선)을 구하는 알고리즘입니다. 핵심은 오차(Error)의 제곱을 최소화하는 것입니다.
- 오차(Residual): 실제 데이터 값과 우리가 추정한 직선 상의 값 사이의 거리입니다.
- 왜 제곱을 하나요? 단순히 오차를 더하면 양수와 음수가 서로 상쇄되어 0이 될 수도 있고, 큰 오차에 더 큰 벌칙을 주어 정확도를 높이기 위해서입니다. 마치 형님이 운동할 때 자세가 조금만 틀어져도 근육에 큰 자극을 주는 것과 비슷하죠!
5 - 1. 수학적 원리 비교
일반적인 평균 구하기와 최소 제곱법을 비교해 보면 이해가 빠릅니다.
| 목표 | 중심이 되는 하나의 값을 찾음 | 변수 간의 관계(직선)를 찾음 |
| 수식 | ||
| 핵심 | 모든 값의 합을 개수로 나눔 | 를 최소화 |
5 - 2. Python 구현 코드
가장 대중적인 NumPy 라이브러리를 사용해서 최소 제곱법을 구현해 보겠습니다.
import numpy as np
import matplotlib.pyplot as plt
# 1. 가상의 데이터 생성 (타스 형님의 운동 횟수와 근육량의 관계라고 해보죠!)
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 5, 6, 5])
# 2. 최소 제곱법 계산 (polyfit 함수 사용)
# 1차 방정식(직선) 형태인 y = ax + b의 계수를 찾아줍니다.
a, b = np.polyfit(x, y, 1)
# 3. 결과 출력
print(f"기울기(Slope): {a:.2f}")
print(f"y절편(Intercept): {b:.2f}")
# 4. 시각화
plt.scatter(x, y, color='blue', label='Actual Data') # 실제 데이터 점
plt.plot(x, a*x + b, color='red', label='Least Squares Line') # 최적의 직선
plt.legend()
plt.show()
5 - 3. 발음 가이드
영단어 발음도 함께 챙겨 가세요
- Least Squares Method [리스트 스퀘어즈 메소드]
- Linear Regression [리니어 리그레션]
- Optimization [옵티마이제이션]
수학적으로 "가장 덜 미안한(오차가 적은)" 선을 긋는다고 생각하시면 마음 편하실 거예요! 더 궁금한 점 있으면 말씀해 주세요.
6. 로지스틱 회귀란 무엇인가?
로지스틱 회귀는 이름만 들으면 "어제 주식 가격 맞히는 건가?" 싶지만, 사실은 **"이게 A야, B야?"**를 결정하는 분류(Classification) 모델입니다.
- 핵심 원리: 입력 데이터를 바탕으로 특정 사건이 발생할 확률을 계산합니다.
- 결과 도출: 확률이 0.5(50%)보다 크면 "합격(1)", 작으면 "불합격(0)"으로 점을 찍어버리는 식이죠.
- 비유: 소개팅에 나갔을 때 상대방이 나를 좋아할 확률을 계산해서 "애프터 성공" 혹은 "광탈"로 나누는 것과 비슷합니다. (물론 우리 타스 형님은 확률 100%시겠지만요!)
6 - 1. 선형 회귀 vs 로지스틱 회귀 비교
학습에 도움이 되도록 형님이 좋아하시는 비교 분석 들어갑니다!
| 목적 | 연속적인 숫자 예측 (예: 집값, 몸무게) | 이진 분류 (예: 스팸 여부, 암 판정) |
| 결과 형태 | 부터 까지의 직선 | 0과 1 사이의 S자 곡선 (Sigmoid) |
| 사용 함수 | ||
| 핵심 질문 | "내일 기온이 몇 도일까?" | "내일 비가 올까, 안 올까?" |
로지스틱 회귀는 다음의 3단계를 거칩니다.
- ➊ 선형 결합: 먼저 데이터를 가지고 직선 방정식을 만듭니다. (예: )
- ➋ 시그모이드 변환: 위에서 나온 값을 시그모이드 함수에 집어넣습니다. 그러면 어떤 값이든 0과 1 사이의 '확률'로 변합니다.
- ➌ 결정 경계(Decision Boundary): 임계값(보통 0.5)을 기준으로 최종 클래스를 분류합니다.
💡 팁! 로지스틱 회귀는 딥러닝의 가장 기본 단위인 '퍼셉트론'과 구조가 매우 흡사합니다. 이 모델만 잘 이해해도 인공신경망의 절반은 먹고 들어가는 셈이죠!
요번 주도 열심히 공부했습니다.
알면 알수록 쉬워 보이기도 하고 처음 개념?? 잡는 게 어려워서 그렇지 앞서 배운 것들의 반복이란 느낌이 들더군요
아직 수박 겉핡기라 막말하는걸 수도 있지만 이미지를 학습시키고 그 결과치로 예측해서 정확도와 로스율을 구하고 또 다른 방법으로 학습시키는 일을 반복하고 있습니다. 물론 시중에 나와있는 ai가 얼마나 많은 학습으로 이루어졌는가 놀라고 또 놀라고 있지만 나만의 ai 만들기의 시작이라 생각하고 열심히 해 보겠습니다. 다음 주는 뭘 복습할지 모르겠네요
참고로 기울기 (예측선) 이해하는데 무척 힘들었습니다 진짜 회귀하고 싶었어요 ㅠㅠ
오늘도 짧은 영어를 도와줄 단어 몇 개 적어 보겠습니다.
- Collaboratory (코랩의 풀네임)
- 어원: Collaboration (협력) + Laboratory (실험실) → 함께 협력하며 실험하는 공간
- 발음: 콜라보래토리 [kəˈlæbə rətɔːri]
- Runtime (런타임)
- 어원: Run (달리다/실행하다) + Time (시간) → 프로그램이 실행되고 있는 환경이나 시간
- 발음: 런타임 [ˈrʌntaɪm]
- Kernel (커널)
- 어원: 게르만어 kern (씨앗/알맹이) → 운영체제나 시스템의 가장 핵심이 되는 중심부
- 발음: 커널 [ˈkɜːrnl]
- Artificial (인공적인)
- 어원: 라틴어 ars (기술/기술) + facere (만들다)
- 발음: 아티피셜 [ɑːrtɪˈfɪʃl]
- Machine (기계)
- 어원: 그리스어 mēkhanē (수단/도구)
- 발음: 머신 [məˈʃiːn]
- Intelligence (지능)
- 어원: 라틴어 inter (사이에) + legere (선택하다/읽다) → 여러 가지 중에서 올바른 것을 골라내는 능력
- 발음: 인텔리전스 [ɪnˈtelɪdʒəns]
- History (역사)
- 어원: 그리스어 historia (조사/탐구로부터 얻은 지식)
- 발음: 히스토리 [ˈhɪstri]
- Network (망/네트워크)
- 어원: 영어 net (그물) + work (일/구조) → 그물처럼 연결된 구조
- 발음: 네트워크 [ˈnetwɜːrk]
- Gradient (경사도/기울기)
- 어원: 라틴어 gradus (단계/발걸음) → 한 단계씩 변하는 정도
- 발음: 그레이디언트 [ˈɡreɪdiənt]
본 후기는 [한글과 컴퓨터 x한국생산성본부 x스나이퍼팩토리] 한컴 AI 아카데미 (B-log) 리뷰로 작성되었습니다.
#한컴 AI아카데미 #AI개발자 #AI개발자교육 #한글과 컴퓨터 #한국생산성본부 #스나이퍼팩토리 #부트캠프 #AI전문가양성 #개발자교육 #개발자취업
'한컴 AI 아카데미' 카테고리의 다른 글
| [스나이퍼팩토리] 한컴 AI아카데미 4기 프로젝트 2주차 (0) | 2026.05.15 |
|---|---|
| [스나이퍼팩토리] 한컴 AI아카데미 4기 프로젝트 1주차 (0) | 2026.05.09 |
| [스나이퍼팩토리] 한컴 AI아카데미 4기 13주차 빠른에이피아이(FastAPI) (0) | 2026.04.03 |
| [스나이퍼팩토리] 한컴 AI아카데미 4기 12주차 파이썬 판다스(Pandas) (0) | 2026.03.27 |
| [스나이퍼팩토리] 한컴 AI아카데미 4기 11주차 파이썬 넘파이(Numpy) (0) | 2026.03.20 |