Problem Solving with Algorithms

728x90
반응형

안녕하세요! 오늘은 제가 최근에 시청한 유튜브 플레이리스트 “인공신경망기초-신박Ai”를 바탕으로, 인공지능(Artificial Intelligence; AI) 기초에 대해 공부한 내용을 정리하여 티스토리 블로그 포스팅으로 공유드립니다.
 

인공신경망기초-신박Ai



저는 인공지능의 기본적인 동작 원리를 이해하기 위해 “신박Ai” 채널의 인공신경망 기초 강의 시리즈를 시청하였습니다. 총 13편의 영상으로 구성된 이 플레이리스트는 초보자도 쉽게 따라갈 수 있도록, 인공신경망의 원리부터 핵심 알고리즘과 실제 구현, 다양한 사례까지 구체적으로 설명해주는 점이 인상적이었습니다.

인공신경망은 인공지능을 구현하는 데 필요한 첫 출발점 입니다.

 

 

 

인공신경망기초 재생목록 링크입니다.

https://youtube.com/playlist?list=PLW2RwdZfXkE9nFS3DOFdxt2Oxnk1pJzEn&si=IXRc77DGlWErN65n

 

인공신경망기초

 

www.youtube.com

 

 

 

 

 

머신러닝에 관한 내용은은 아래의 포스팅을 참고하세요.

 

[AI 인공지능 머신러닝 딥러닝/인공지능 수학] - 2025 인공지능·머신러닝 입문자를 위한 핵심 통계개념 완전정복 (1/2)

 

2025 인공지능·머신러닝 입문자를 위한 핵심 통계개념 완전정복 (1/2)

안녕하세요! 오늘은 최근에 시청한 유튜브 신박Ai의 “[인공지능을 위한 머신러닝101] 머신러닝을 위한 기초통계개념” 영상을 바탕으로, 인공지능과 머신러닝을 공부하는 데 꼭 필요한 통계 개

inner-game.tistory.com

 

 

 

 

1. 인공신경망과 퍼셉트론의 이해

강의의 초반부에서는 인공신경망이란 무엇인지 그리고 퍼셉트론이라는 가장 기초적인 신경망 모델에 대해 다룹니다. 퍼셉트론은 생물학적 뉴런을 본떠 만들어진 수학적 모델로, 여러 입력값(특징)을 받아 가중치를 곱하고, 이를 모두 더해서 활성화 함수를 거쳐 결과를 도출합니다. 실제로, 아주 기본적인 분류 문제(예: 이메일이 스팸인지 아닌지 판단)도 퍼셉트론으로 해결할 수 있다고 설명했습니다.

 

여기서 퍼셉트론의 한계도 함께 언급됩니다. 퍼셉트론 단일층으로는 XOR 같은 비선형 문제를 해결할 수 없으나, 여러 층을 쌓은 다층 퍼셉트론(Multilayer Perceptron; MLP)에서는 이 한계를 극복할 수 있습니다.

인공지능의 neuron

퍼셉트론이라는 용어는 1957년 프랑크 로젠블라트(Frank Rosenblatt)가 제안한 초기 인공신경망 모델에서 유래했습니다. 이는 생물학적 뇌의 뉴런이 신호를 받아 처리하는 방식을 수학적으로 단순화하여 모델링한 것으로, 다수의 입력 신호에 가중치를 곱해 더한 후, 일정 임계값을 넘으면 1, 넘지 않으면 0을 출력하는 이진 분류기입니다. 퍼셉트론은 선형 결정 경계를 통해 데이터를 분류하는 간단한 형태의 분류기이며, 딥러닝의 기본적인 구성 블록으로 여겨집니다.

즉, 퍼셉트론이라는 말은 "인간 뇌의 뉴런을 모방한 단순한 인공신경망"을 가리키는 용어로, 머신러닝 딥러닝 강의에서 기본 개념인 신경망 학습의 시작점을 설명하기 위해 쓰입니다. 간단한 입력-출력 관계를 학습하여 분류 문제를 해결할 수 있기 때문에, 더 복잡한 신경망과 딥러닝 모델의 기초를 이루는 중요한 개념입니다.



 
 
 

2. 다층신경망과 활성화 함수

다음으로, 다층신경망(MLP)의 원리와 활성화 함수(activation function)의 중요성을 배웁니다. 신경망에서는 여러 층을 통해 복잡한 특성을 추출하고 처리하는데, 각 층의 뉴런은 시그모이드(sigmoid), 렐루(ReLU) 등 다양한 활성화 함수를 사용해 입력값을 비선형적으로 변환합니다. 이 부분은 실제로 딥러닝이 많은 분야에서 뛰어난 성능을 보이는 이유와도 연결됩니다.

 
 

3. 경사하강법과 역전파 알고리즘

기계학습에서 가장 중요한 과정 중 하나인 경사하강법(Gradient Descent) 개념도 등장합니다. 이는 인공신경망을 학습시키는 대표적인 최적화 방법으로, 목표 오차를 최소화하기 위해 모델의 파라미터(가중치 등)를 반복적으로 조정합니다. 실제로 어떻게 경사하강법이 동작하는지, 그리고 이를 통해 신경망이 점점 더 “똑똑해지는지” 이해할 수 있었습니다.

이어 역전파(Backpropagation) 알고리즘에 대한 설명도 강의에서 다룹니다. 역전파는 신경망의 출력부터 입력으로 오차를 거꾸로 전달하여 각 층의 가중치를 효율적으로 수정하는 방식입니다. 이 단계는 딥러닝을 사용하는 모든 현대적 AI 시스템의 핵심입니다.

 
 

4. 실습과 응용

영상의 중반 이후부터는 실제로 파이썬 기반 환경에서 간단한 신경망을 구현해 보는 실습 강의가 이어집니다. 퍼셉트론을 직접 코딩해보고, 다층 퍼셉트론, 그리고 다양한 활성화 함수까지 적용해보면서 AI 모델의 작동 원리를 실제 코드를 통해 직접 확인할 수 있습니다. 초보자에게도 매우 친절하게 설명해 주셔서, 실제로 코딩 실습을 하면서 개념이 더 확실하게 정립되었습니다.

 
 

5. 자기조직화지도(SOM)와 제한된 볼츠만 머신(RBM)

마지막 강의들에서는 자기조직화지도(Self Organizing Map; SOM)와 제한된 볼츠만 머신(RBM) 등, 비교적 고급 인공신경망 모델도 소개됩니다. SOM은 입력 데이터를 지도 없이(unsupervised) 자동으로 분류할 수 있는 기법이고, RBM은 심층 신경망의 토대가 되는 확률적 생성 모델로 음악 추천, 패턴 분석 등 다양한 응용 사례가 있다고 합니다.

 
 
 

6. 제가 느낀 점

이번 인공신경망 기초 강의 시청을 통해, 인공지능이 어떻게 작동하는지, 그리고 신경망이 실제로 데이터를 받아들이고 처리하는 과정, 학습이 이루어지는 원리 등을 체계적으로 이해할 수 있었습니다. 특히, 실제 예제와 실습 코드가 매우 도움이 되었으며, 개념적인 내용뿐 아니라 “직접 해보며” 얻는 지식이 훨씬 오래 기억에 남는다는 점을 깨달았습니다.

 

 

 

 


 
 

강의 목록

https://youtube.com/playlist?list=PLW2RwdZfXkE9nFS3DOFdxt2Oxnk1pJzEn&si=MnmqFL1Vokdv6oii

 

인공신경망기초-신박Ai

 

www.youtube.com

 
 
아래는 유튜브 플레이리스트 “인공신경망기초-신박Ai”의 강의 목록과 각 강의의 주요 내용을 간단히 정리한 것입니다.

 

강의 목록 및 주요 내용 정리

1. Artificial Neural Networks and Perceptrons 1

인공신경망과 퍼셉트론의 기본 원리, 구조 및 동작 방식 소개

 

인공신경세포의 구조 및 작동방식 == 퍼셉트론의 구조와 작동방식
 

입력값, 연결강도, 역치, 활성화함수, 출력값

 

활성화 함수

 

 

 

일단은 여기까지만 소개



 
 
 
 

2. 인공신경망과 퍼셉트론2

기억! 모든 신경망의 학습은 결국 연결가중치 weight 값을 변화시키는 것

신경망 학습은 결국 가중치를 변화시키는것

 

학습률은 상당히 작은 수(예를 들면 0.0001)을 곱해서 연결강도의 변화를 아주 점진적으로 바꾸어 갑니다.

 

 

퍼셉트론의 수식, 학습 알고리즘과 단일 뉴런의 한계 설명


 

새로운 연결 강도 구하기

 

기울기 0.5로 가운데에 대각선이 오는것으로 수렴함


 

3. Let's Build a Neural Network Development Environment

신경망 개발을 위한 파이썬 환경 세팅 및 필수 라이브러리 안내

개발경험이 없는 / 비전공자 분들을 위한 개바환경 셋팅 강의

 
 

4. 나만의 퍼셉트론을 만들어보자

직접 퍼셉트론 구현 실습 (파이썬으로 예제 코딩)

직접 퍼셉트론 구현 실습 (파이썬으로 예제 코딩)

 
 
 
 

5. 퍼셉트론의 한계와 다층신경망의 등장

퍼셉트론 단일층 문제와 다층 퍼셉트론(MLP) 등장 배경 설명

 

 

두개의 입력이 있다는 것은 이런 뜻. 두개의 출력이 아니고 입력이구나.
아래의 텍스트 설명 참조

 

출력값이 0/1인 이진 분류라 해도, 입력공간에서의 결정경계는 여전히 $n-1$차원의 초평면이라고 보는 말이 맞습니다.
“2차원이다”라고 하는 것은 출력공간을 말하는 것이고, “$n-1$차원 초평면”은 입력벡터들이 사는 $n$차원 공간 안의 경계를 말하는 거라 개념이 다릅니다.

 

무엇이 $n$차원이고 무엇이 2차원인가
- 퍼셉트론/로지스틱 회귀 같은 선형 이진 분류기는 입력이 $x \in \mathbb{R}^n$ (특징 $n$개)일 때, 가중치 $w, b$로 $f(x)=w^\top x + b$라는 선형 함수를 만든 뒤, 부호나 시그모이드로 0/1을 출력합니다.
- 여기서 $f(x)=0$을 만족하는 점들의 집합 $\{x \mid w^\top x + b = 0\}$이 바로 $n$차원 공간 안의 $n-1$차원 초평면이고, 이 초평면을 기준으로 $f(x)>0$인 쪽은 1, $f(x)<0$인 쪽은 0으로 나뉩니다.

 

왜 “$n-1$차원 초평면”이라고 하는가

- 일반적으로 $n$차원 공간에서 1차 방정식 $w^\top x + b = 0$으로 정의되는 부분공간을 초평면(hyperplane)이라고 하고, 정의상 그 차원은 항상 $n-1$입니다.
    - 예: 입력 특징이 2개면 공간은 2차원이고 결정경계는 1차원 직선, 특징이 3개면 공간은 3차원이고 결정경계는 2차원 평면입니다.
- 그래서 “$n$차원의 초공간을 $n-1$차원의 초평면으로 분할한다”는 말은, 입력벡터가 사는 $n$차원 특징 공간을 하나의 선형 결정경계로 둘로 나눈다는 의미입니다.

0/1 출력과 차원 수의 관계

- 출력이 0/1이기 때문에 결과 레이블 자체는 “두 개의 값(이산 1차원)” 뿐이고, 그걸 2차원이라고 부르지는 않습니다; 단지 두 클래스일 뿐입니다.
- 차원 얘기는 전부 입력 특징 공간에 대한 것이고, 분류기는 이 공간에서 한쪽 영역을 “클래스 0”, 다른 영역을 “클래스 1”로 나누는 역할을 합니다.

 

직관적으로 다시 정리

- 데이터 $x$가 $n$개의 특징을 가지면, 그 데이터들은 $n$차원 공간의 점들로 생각할 수 있습니다.
- 선형 이진 분류기의 학습 결과는 “어느 쪽이면 1, 어느 쪽이면 0”을 나누는 하나의 초평면 $w^\top x + b=0$이고, 이 초평면이 $n$차원 공간을 둘로 쪼갭니다.
- 따라서 강의에서 말한 “$n$차원의 초공간을 $n-1$차원의 초평면으로 분할한다”는 설명은, 이진 출력 0/1과 무관하게 결정경계의 기하학적 차원을 이야기한 것으로 보면 됩니다.

 

n차원

 


 

3차원 -> 2차원으로

 
 

n개의 입력값이 있다면, n차원의 초공간 하이퍼스페이스를 n-1차원의 초평면 하이퍼플레인으로 분할한다.

 

 

 

 

 

 

1970년대 인공신경망의 빙하기(다층신경망이 등장하기 전)

 

 

퍼셉트론은 1개의 직선만 가지기 때문에, 이 문제는 다층신경망

 

 

다층신경망의 특징

 


 

6. 시그모이드 활성화함수

시그모이드 함수의 개념, 수식, 신경망에서의 역할 해설

 

기존함수는 입력이 x축 어디에 있던지 간에 다 0아니면 1로만 나왔음



스텝펑션은 0,1 시그모이드는 0~1사이의 값
시그모이드 약점 1 - 입력값의 차이가 출력값에 효과적으로 반영되지 않는 구간(양극단) 발생
시그모이드 약점 2



시그모이드의 약점을 극복하는 여러 다른 활성화 함수들


 
 
 
 

7. Activation Function Families

시그모이드의 문제점

 

결국은 계단함수의 문제점과 유사함

 

 

 

 

신경망의 층이 깊어지면 깊어질 수록 학습효과가 떨어지는 것 - 기울기 소실 문제(vanishing gradient problem)의 근본적인 원인

 

 

 

 

 

non zero-centered 문제 라고 불린다

 

 

 

두 연결강도가 모두 마이너스 이거나, 모두 플러스가 된다
그 결과로 보라색 부분으로 1,3 사분면근처 로만 이동하게 되고 지그재그 이동하게 된다
지그재그패턴은 결국 학습과정의 능률이 떨어진다는 말입니다.
tanh는 시그모이드의 단점인 none-zero문제를 해결할수있고, -1~1 가능하지만 여전히 gradient killing and saturation 문제가 있다.

 

 

 

시그모이드, 렐루 등 다양한 활성화 함수의 종류와 특징


이를 해결 하기 위해 ReLU - Rectified linear unit 가 나왔다.

0쪽에서 Dying ReLU 현상이 있다.

 

 
 

완벽한 활성화 함수는 없다

 
 
 
 
 
 

8. 경사하강법

경사하강법 최적화의 기본 원리와 실제 신경망 학습과정

경사하강법이란? 주어진 손실함수에서 모델의 파라미터의 최적의 값을 찾는 머신러닝과 딥러닝의 최적화 알고리즘 중 하나이다.

경사하강법

 

편향도 중요하기 때문에 지금부터는 포함하겠습니다.

편향은 활성화 함수의 파라미터를 왼쪽 혹은 오른쪽으로 옮김으로써 신경망모델의 학습이 더 빨리 진행되도록 도와줍니다.

 

편향 - 데이터가 몰려있는 쪽으로 경사가 심한 부분(가운데부분)을 옮겨준다.

 

 

 

손실함수란? 지난 영상에서 배웠던 오차와 비슷한 개념

 

신경망 학습이란 결국 이 오차를 줄여나가도록 모든 파라미터들을 반복적인 방법으로 조금씩 튜닝해가는 것

 

모델의 예측이 이 연두색으로 바뀌면,

 

경사하강법을 알기 위해서 먼저 우리는 이 손실함수에 대해 좀 자세하게 알아볼 필요가 있습니다.

 

 

MSE에서 제곱을 해주는 이유: + 혹은 - 부호의 효과를 없애기 위해

 
 
손실함수의 값이 작으면 작을수록 좋다.

MAE에서 절대값을 사용하는 이유, 오차가 1보다 작은 경우 제곱을 하면 그 수가 더 작아지기 때문에 오차가 왜곡될수있다.
교차엔트로피의 장점 : 학습 속도가 빠르다

 

 

경사하강법의 알고리즘

 

 

 

손실함수는 그냥 제곱이 있는 2차함수일 뿐인데, 그냥 편하게 근의공식 같은걸로 최소값을 구하면 되지 않나요?

 

 

안된다. 손실함수는 사실은 엄청 복잡하게 생겼다.

두개의 입력만을 받는 퍼셉트론이라 할지라도 손실함수는 사실 이렇게 생겼다.

 

이런 수학적 증명 과정까지 다 알필요는 없지만, 이 증명에 따르면 결국 경사하강법의 핵심은

손실함수 오차가 얼마나 줄어드느냐는, 결국 손실함수의 기울기 값에 비례한다는 것을 보여줍니다. 손실함수의 기울기 x 가중치의 변화량의 곱

 

 

손실함수 오차가 얼마나 줄어드느냐는, 결국 손실함수의 기울기 값에 비례한다는 것을 보여줍니다.

 

손실함수의 기울기 x 가중치의 변화량의 곱

으로 근사적으로 표현 가능

 

델다씨 -> 변화량, 딜리버티브 씨 -> 기울기 씨

 

왜냐하면 델타W(가중치)의 값을 -C(기울기)로 할 때, 델타C(손실함수의 변화량)가 제일 커지기 때문입니다.

 

 

경사하강법의 핵심

경사하강법의 핵심

 

 

퍼셉트론의 학습방법은

입력값이 클수록

 

연결강도를 더 많이 변화시켜서(새연결강도) 최적의 파라미터를 찾아가는 것

연결강도를 더 많이 변화시켜서(새연결강도) 최적의 파라미터를 찾아가는 것


 

경사하강법을 이용한 가중치 학습법도 개념은 동일합니다.

 

손실함수의 기울기가 클수록 연결강도의 변화량도 커집니다.

 

-딜리버티브 씨는 다음과 같다. 이 공식은 꼭 알아야 한다. 델타w 분의 델타c라는것

손실함수의 기울기(하늘색)이 클수록 연결강도의 변화량도 커집니다

 

 

퍼셉트론은 새 연결강도와 현 입력값의 관계

경사하강법을 이용한 가중치 학습법은 새 연결강도와 손실함수의 기울기의 관계

즉, 단순히 입력값 기반으로 하던것을 손실함수의 기울기로 연결강도를 수정. 일반적이고 효율적이고 발전된 방법인 최적의 연결가중치를 찾아가는 방법. 지금도 계속 발전 중

새 연결강도를 결정하는 것

 

혹은 인간두뇌의 직관적능력에 대한 구현이 없는 문제(인공지능은 아하 모먼트-유레카-가 없다)

 
 
* 손실함수 3가지
- MAE (Mean Absolute Error, 평균절대오차)
(정답과 예측값의 차이의 '절댓값'을 평균냄)
 
특징:
회귀 문제(숫자를 예측)에서 자주 사용
오차의 "크기"만 보고 부호는 신경쓰지 않음
이상치(outlier)에 덜 민감(MSE는 제곱이니 이상치에 예민)
 
 
- MSE (평균제곱오차 Mean Squared Error)
오차의 제곱을 사용해서, 실제 오차가 클수록 훨씬 더 '크게' 벌점
이상치(값이 많이 차이나는 것)에 민감
 
 
- 크로스엔트로피(분류용)
L=−[ylog(y^)+(1−y)log(1−y^)]
( y y=정답 레이블(0/1), y ^ y ^ =예측 확률값)
 
분류 문제에 특화(확률 예측)
 
주로 분류(classification) 문제, 특히 확률 예측(소프트맥스, 시그모이드 출력)에서 사용
"정답에 가까운 확률이면 손실이 작고, 틀린 확률이면 손실이 급격히 커짐"
값이 확률로 (0~1 사이) 나오는 문제에 아주 효과적
 
 
 
 
 

9. 역전파 backpropagation 알고리즘

역전파 알고리즘의 원리, 오차 역전파를 통한 가중치 수정 구조 설명

활성화함수 시그모이드, 손실함수 MSE로 정의



1단계부터 3단계를 반복해서 최적의 파라미터를 찾아가는 과정을 학습(트레이닝) 또는 최적화라고 부른다

1단계부터 3단계를 반복해서 최적의 파라미터를 찾아가는 과정을 학습(트레이닝) 또는 최적화라고 부른다

 

 

 

이렇게 순전파가 완료 되었다.

 

 

이제 손실계산 단계

 

출력층 뉴런이 하나라서 n을 1로 한다. 그래서 간단하다. 실제값을 1이라고 가정, 손실 즉 오차 c는 0.126

 

 

마지막 역전파 단계

 

새 연결강도 구하기

 

첫번째꺼

 

y 는 그래프 바깥에 있는 “정답 값(label)” 이고, 네트워크가 맞추려고 하는 목표값이야.

그래서 관계는
* o 1 : 모델이 계산해서 내놓은 최종 출력
* y: 데이터셋이 주는 정답

 

즉, 손실 C=(y−o 1 )제곱  는 “정답 y와 예측 o 1 의 차이 제곱”이 되는 것.

 

 

두번째꺼 계산하기

두번째꺼, 0.229가 됨

 

 

세번째꺼

세번째꺼

 
 
 

새 연결강도는 0.551

 

 

 

체인룰을 이용해서 계산

 

 

 

모든 가중치 업데이트 완료

 

 

 

다시 같은 입력을 넣어 본다. 0.5 그리고 0.3

오차가 줄어들었음
오차가 최소가 되는 지점에 도달하면 학습을 멈추면 된다.

 

체인룰만 이해하면 사실 어렵지 않다.

숫자를 계산하는게 어렵게 느껴지는것이지 개념자체는 아주 간단하다.

 

역전파알고리즘의 핵심은 편미분과 체인룰

3가지 스텝이 있고, 가중치 변화는 결국에는 체인룰을 통해서 이루어진다는것만 기억하면 좋을것 같다.

 

 


 

10. 다층 퍼셉트론 구현 실습

다층 퍼셉트론 코딩 실습, 입력층·은닉층·출력층 구성방법 안내

다층 퍼셉트론 코딩 실습, 입력층·은닉층·출력층 구성방법 안내

 
 
 
 
 

11. 자기조직화지도 Self Organizing Map, SOM

SOM 원리와 비지도 학습, 데이터 군집화 기초 이론

SOM

 
 

SOM 프로세슴
SOM의 특징인 '경쟁'을 위한 것
2단계
입력값과 가중치의 차이 값이 가장 적은것을 베스트 매칭 유닛으로 선정
시간이 지날수록 이웃의 반경이 줄어들어 결국 안정화된다.
역전파와 체인룰을 쓰지 않는 SOM의 학습 알고리즘
인간의 지능을 모방하는 신경망의 관점에서 상당한 의미가 있다고 볼 수 있다.
t는 현재 상태, t+1은 가중치 업데이트 후, a(t)는 현시점 학습률, 학습률은 시간이 갈수록 줄어든다 그래서 가중치도 줄어든다
거리에 따른 영향

 

시그마는 반경의 크기인데 시간이 지날수록 작아지기 때문에 분수는 커지지만 -가 붙어서 결국 줄어든다. 따라서 가중치의 변화도 줄어든다. 시스템이 특정가중치로 수렴하게 된다.

 

 
 

SOM은 "데이터 공간 전체를 대표하는 지도"를 만들기 위한 알고리즘!

처음부터 입력값을 넣는 것은 데이터 전체 분포를 반영할 수 없고,
반복적으로 입력값을 학습시켜야,
각각의 노드가 데이터 구조를 잘 담은 대표 벡터로 변화하게 됩니다.

 
 

h뒷부분의 (xk-..)는 입력값과 비슷하게 된다.
초기입력
우리가 레이블을 주지 않아도 같은 색깔끼리 서로 모이고 응집하게 됨.

 
 
 

예시: 사탕을 분류하는 지도 만들기

1. 사탕 데이터
다양한 사탕이 있어요.각 사탕은 색깔(빨강/초록/파랑)과 크기(작음/중간/큼)로 표현할 수 있어요.입력값 예시:사탕A: 색=빨강(1), 크기=작음(1)사탕B: 색=초록(2), 크기=중간(2)사탕C: 색=파랑(3), 크기=큼(3)... (데이터 다양하게 존재)

2. 처음부터 가중치에 입력값을 넣으면?
예를 들어 3개의 노드가 있다고 가정,각 노드에 사탕A, 사탕B, 사탕C의 값을 각각 ‘그대로’ 넣는다면:노드1: (1,1), 노드2: (2,2), 노드3: (3,3)
→ 이렇게 하면
새로운 사탕(예: 색=1, 크기=2)이 들어와도이미 정해진 3개 값 외에는 가까운 대표가 없음.

3. 반복 학습(적응)으로 지도 만들기
- 사탕 데이터가 계속 다양하게 들어옴(색/크기 조합 여러 개)
- 3개의 노드는 처음엔 랜덤 값 가지고 시작!
- 사탕 데이터를 하나하나 반복해서 넣고,매번 ‘가장 비슷한’ 노드와 그 주변 노드의 값을입력 사탕 데이터 쪽으로 조금씩 이동

→ 이렇게 하면
- 학습이 충분히 반복되면,한 노드는 '빨간·작은 사탕' 주변 값이 됨또 다른 노드는 '초록·중간' 근처마지막 노드는 '파랑·큰' 근처 등
- 사탕 데이터 전체 공간(분포)에 따라 각 노드가 고르게 퍼짐!(중간색/중간크기, 혹은 여러 개의 조합 등 다양한 패턴도 대표)

4. 결론
- 처음부터 입력값만 박아넣으면 ‘대표’나 ‘지도’ 역할이 약함→ 여러 입력값이 들어오고, 반복해서 이동하며데이터 전체의 분포에서 주요 특징을 대표하게 됨!
- 이렇게 만들어진 SOM 지도는새로운 데이터가 들어왔을 때“이 사탕은 어느 부류(노드)와 가장 비슷하지?” 하고그룹을 찾아줍니다.

 
 
 

꽃 예시로 SOM 설명

1. 입력 데이터(꽃들)
한 송이의 꽃을 ‘색깔’, ‘잎 수’, ‘크기’로 표현할 수 있다고 해보세요.예시 꽃 데이터꽃A: 빨강, 잎 5장, 크기 2cm꽃B: 노랑, 잎 7장, 크기 5cm꽃C: 하양, 잎 3장, 크기 1cm... (다양한 조합의 꽃들이 있음)

2. 노드(대표 꽃)
SOM에서는 여러 개의 ‘대표 꽃’(노드)가 있습니다.각각은 처음에 아무런 특징(색, 크기, 잎 수의 랜덤값)을 가집니다.

3. 처음부터 입력값을 노드에 넣는다면?
예: 노드1 = 꽃A 정보, 노드2 = 꽃B 정보, 노드3 = 꽃C 정보이렇게 되면 입력 데이터 중 '딱 그 꽃'만 대표하게 되고,나머지 다양한 꽃 패턴(예: 주황색에 잎 4장, 크기 3cm 등)을 나타낼 대표가 없음

4. SOM 방식(반복 학습)
꽃 데이터가 여러 번 들어오면,각 노드는 자기와 제일 비슷한 꽃 데이터 정보를 조금씩 따라가게 됨반복될수록, 노드들 각각은 꽃 데이터 분포에서 ‘주요 종류’를 대표하게 자리 잡음예: 한 노드는 ‘빨강, 잎 5장, 중간크기’에 가까워짐또 다른 노드는 ‘노랑, 잎 많음, 큰 꽃’ 패턴을 대표하게 됨

5. 결과
최종적으로 소수의 대표 꽃(노드)들이여러 꽃 종류(색, 크기, 잎 수 조합)를 나눠서 맡게 돼요새로운 꽃이 들어와도,“이 꽃은 대표 노드들 중 누구랑 가장 비슷할까?” 하며자연스럽게 그룹이 나뉘고, 데이터의 전체 구조와 분포를 알 수 있게 됩니다

요약:처음부터 꽃 하나만 대표로 삼는 게 아니라많은 꽃 데이터를 반복적으로 비교·학습하면서“분포 전체를 대표하는 꽃들”이 만들어지는 게 바로 SOM의 핵심이에요!그래야 각기 다른 종류, 특성을 가진 새로운 꽃이 들어와도자동으로 가까운 그룹(노드)과 연결되어 분류·군집화가 잘 되는 지도/구조를 얻을 수 있습니다.

 
 
 

12. 자기조직화지도 SOM 실습

SOM을 이용한 실제 데이터 군집화 코딩 실습

 

SOM을 이용한 실제 데이터 군집화 코딩 실습

 
 
 
  
 
 

13. 제한된 볼츠만 머신 이론 및 실습

RBM(Restricted Boltzmann Machine) 원리와 활용, 코딩 실습

일반 볼츠만 머신 - 학습과정이 매우 복잡하고 시간이 많이 소요됨

 
 
 

제한된 볼츠만 머신 - 학습이 더 효율적이고 계산 복잡도가 낮다.

 
 
 
 

현재 딥러닝에서 중요한 이유

 
 

이 강의에서는 수학은 다루지 않는다.

 
 

 

 

주어진 입력벡터 v에 의해서(h1=1)뒤에 있는❘ v

 
 
 
아까 RBM의 노드들은 0 혹은 1의 값을 가진다고 했는데, h1이 1이 될 확률이 0.574이라 1이되며, 따라서  h1의 샘플링 값은 1이 된다.
 

역전파처럼 반대로 구하네? 1, 0이 나옴. 재구성한 벡터 v' = [1, 0]

 
 
역전파는 인간의 두뇌와는 거리가 멀기 때문에 생물학적으로 타당한 모델은 아니다.
 
역전파 대신에 실제값 재구성값 차이를 가중치에 사용한다
 
재구성값이 실제값과 거의 유사해지도록. 따라서, 역전파를 쓰지 않고도 차원축소나 데이터 주요한 특징들을 잡아내는 신경망이 된다.
 

 

 
 
이와 같은 방식으로 데이터 값들을 입력하고 재구성한 뒤 가중치를 업데이트 해주는 것이 RBM의 학습 알고리즘.
 

실습


 
 
각 강의는 인공신경망과 퍼셉트론의 기초부터 실제 구현, 최적화 알고리즘, 심화 이론(예: SOM, RBM)까지 폭넓게 다룹니다. 기초 개념 설명은 물론이며, 단계별 코딩 실습과 수식 해설까지 함께 제공해 처음 배우는 분들도 쉽게 따라할 수 있게 구성되어 있습니다.
 
 
 
 




앞으로도 이 시리즈를 바탕으로 더 심화된 딥러닝 강의와 다양한 데이터셋, 라이브러리를 활용해 볼 계획입니다. 여러분도 인공지능 기초를 쉽게 배워보고 싶다면, 신박Ai의 인공신경망 강의 시리즈를 추천드리고 싶어요!

긴 글 읽어주셔서 감사합니다. 혹시 궁금하신 점이나 추가로 알고 싶은 내용 있으시면 댓글 남겨 주세요. 함께 공부하는 즐거움, 공유하며 성장해보아요!
 
 
 

이 블로그의 관련 글

[AI 인공지능 머신러닝 딥러닝/인공지능 수학] - 2025 인공지능·머신러닝 입문자를 위한 핵심 통계개념 완전정복 (1/2)

 

2025 인공지능·머신러닝 입문자를 위한 핵심 통계개념 완전정복 (1/2)

안녕하세요! 오늘은 최근에 시청한 유튜브 신박Ai의 “[인공지능을 위한 머신러닝101] 머신러닝을 위한 기초통계개념” 영상을 바탕으로, 인공지능과 머신러닝을 공부하는 데 꼭 필요한 통계 개

inner-game.tistory.com

 

 

 

 

[AI 인공지능 머신러닝 딥러닝] - AI 비전공자를 위한 기초 수학 1 선형대수학 | KAIST-ON 플랫폼 소개

 

AI 비전공자를 위한 기초 수학 1 선형대수학 | KAIST-ON 플랫폼 소개

카이스트에서 제공하는 무료 강의입니다. 카이스트에서는 KAIST-ON 이라는 온라인 교육 플랫폼을 제공합니다. 추가적으로 해당 강의를 듣기 전이나 후에 이 강의를 듣는 것도 추천드립니다.https://

inner-game.tistory.com

 

 
 
 
[AI 인공지능 머신러닝 딥러닝/인공지능 수학] - AI 비전공자를 위한 기초수학: 벡터 미적분학 | KAIST-ON

 

AI 비전공자를 위한 기초수학: 벡터 미적분학 (1/4) | KAIST-ON

이번에는 'AI 비전공자를 위한 기초수학: 벡터 미적분학'에 대해서 소개해 드리겠습니다. 앞에서 소개해드린 인공지능을 위한 선형대수학 강의와 마찬가지로 'KAIST-ON'에서 수강하실 수 있습니다.

inner-game.tistory.com

 

 

 

 

[AI 인공지능 머신러닝 딥러닝] - 꽂히는 딥러닝 | 전체 강의 소개

 

꽂히는 딥러닝 | 전체 강의 소개

꽂히는 딥러닝 플레이리스트는 “수학·이론·직관”을 한 번에 잡으면서도, 처음부터 끝까지 흐름 있게 딥러닝을 배우고 싶은 사람에게 잘 맞는 입문·기본 강의 묶음입니다. 혁펜하임 특유의

inner-game.tistory.com

 

 

 

 

[AI 인공지능 머신러닝 딥러닝/인공지능 수학] - 혁펜하임의 "보이는" 선형대수학 (Linear Algebra) | 인공지능, 머신러닝, 딥러닝 수학 무료 강의

 

혁펜하임의 "보이는" 선형대수학 (Linear Algebra) | 인공지능, 머신러닝, 딥러닝 수학 무료 강의

오늘 소개할 강의는 “혁펜하임의 ‘보이는’ 선형대수학 (Linear Algebra)”이며, 혁펜하임의 선형대수학 강의는 “선형대수학을 눈으로 보이게” 만드는 것을 목표로 한, 총 40강짜리 시각 중심

inner-game.tistory.com

 


 

728x90
반응형
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
250x250