일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- golang
- 패스트캠퍼스업스테이지에이아이랩
- 함수
- golang interface
- struct
- 스코프
- receiver method
- receiver
- Interface
- golang slice
- 패스트캠퍼스AI부트캠프
- 패스트캠퍼스
- array
- 업스테이지패스트캠퍼스
- golang array
- Pointer
- 패스트캠퍼스업스테이지부트캠프
- scope
- 국비지원
- 변수
- golang pointer
- package
- 상수
- 메서드
- keyword
- 타입
- UpstageAILab
- slice
- method
- golang slice remove
Archives
- Today
- Total
느리지만 꾸준히, 코딩
역전파 본문
여러 층으로 구성된 뉴럴 네트워크(Neural Network)의 구조를 이해하기 쉽게 정리해봄
📌 뉴럴 네트워크를 학생들이 여러 줄로 서 있는 구조로 이해하기
👉 상황
- 4명의 학생(A, B, C, D)이 한 줄로만 서 있는 것이 아니라 여러 층(줄)으로 서 있음.
- 즉, 한 줄이 아니라 입력층(첫 번째 줄), 은닉층(중간 줄), 출력층(마지막 줄)으로 구성됨.
- 각 학생(뉴런)은 자신이 받은 정보를 가공해서 다음 층으로 전달함.
⏳ Step 1: 순전파 (Forward Propagation)
학생들이 여러 줄(층)로 서 있음
💡 예제:
문제 = "5 + 3 = ?"을 풀어라
입력층 (Input Layer) | 은닉층 (Hidden Layer) | 출력층 (Output Layer) |
---|---|---|
A1: "5를 입력" | B1: "이걸 2배 해야겠어!" | C1: "이제 1을 빼야겠어!" |
A2: "3을 입력" | B2: "이건 그냥 놔둘래!" | C2: "그대로 전달!" |
1️⃣ A층(입력층)
- A1:
"나는 5를 입력할게!"
- A2:
"나는 3을 입력할게!"
2️⃣ B층(첫 번째 은닉층)
- B1:
"A1이 5라고 했으니까, 2배 해서 10으로 만들자!"
- B2:
"A2가 3이라고 했으니 그냥 놔둘래."
3️⃣ C층(출력층)
- C1:
"B1이 10이라고 했으니, 1을 빼서 9로 만들자!"
- C2:
"B2가 3이라고 했으니 그대로 전달!"
🎯 출력층의 최종 답: 9
(틀림)
→ 이제 역전파를 진행해서 고쳐야 함!
🔄 Step 2: 역전파 (Backward Propagation)
✅ 선생님(정답 제공자): "정답은 8인데, 너희가 9라고 했어! 어디서 틀렸는지 확인하자!"
1️⃣ C층(출력층) 피드백
- C1:
"아! 내가 1을 빼는 게 아니라 2를 빼야 했어!"
- C2:
"내가 준 정보는 문제 없네!"
→ C층이 값을 수정하고 B층에 피드백 전달
2️⃣ B층(은닉층) 피드백
- B1:
"아, 2배 하는 게 아니라 1.5배만 해야겠네!"
- B2:
"나는 잘했으니까 수정할 필요 없어."
→ B층이 값을 수정하고 A층에 피드백 전달
3️⃣ A층(입력층) 피드백
- A1:
"5를 입력할 때, 더 신경 써야겠다!"
- A2:
"나는 문제 없었네!"
🔄 Step 3: 수정된 데이터로 다시 학습
🔹 시간: 2초
- 모든 학생들이 피드백을 반영하여 다시 답을 만들어 봄.
- 반복할수록 점점 정답에 가까워짐! 🎯
📌 뉴럴 네트워크 정리
💡 뉴럴 네트워크는 여러 층이 존재하며, 각 층이 정보를 조금씩 변형해서 다음 층으로 전달하는 방식!
개념 | 설명 | 예시 |
---|---|---|
입력층 | 문제의 입력 값을 받음 | 5와 3을 입력 |
은닉층 | 데이터를 변형해서 처리함 | "2배 하기" → "빼기 1" |
출력층 | 최종 답을 계산 | 9 (틀림) |
역전파 | 틀린 값을 수정하면서 다시 전달 | "2배가 아니라 1.5배!" |
🔥 결론
- 뉴럴넷은 한 줄이 아니라 여러 줄(층)이 존재함.
- 순전파: 입력층 → 은닉층 → 출력층 순서로 정보 전달
- 역전파: 출력층 → 은닉층 → 입력층으로 틀린 부분을 수정
- 반복 학습: 여러 번 수정하면서 점점 정답을 찾아감
'프로그래밍 > AI' 카테고리의 다른 글
업스테이지 CV 경진대회 정리 (0) | 2025.03.02 |
---|---|
tensor: dim 이해하기 (0) | 2025.02.11 |
머신 러닝 발전 5단계 (0) | 2025.02.10 |
딥러닝 학습노트 (0) | 2025.02.10 |
upstage: mlops 프로젝트 (0) | 2025.02.03 |