딥러닝

김승혁·2023년 8월 21일
0

DL

목록 보기
2/7

MLP(Multi-layer Perceptron)

자연어란

▪ 인간인 우리가 대화, 서류, 채팅 등을 통해 일상적으로 사용하는 언어를 '자연어 (Natural language)'라고 합니다.

자연어처리(Natural Language Processing)란

▪ 자연어 처리(Natural Language Processing)는 자연어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 일을 말한다

자연어 처리가 어려운 이유


https://ellatv.tistory.com/273 https://www.insight.co.kr/news/225380

자연어 처리의 현재

https://c.tenor.com/94LdyB8SsFMAAAAd/github-github-copilot.gif

https://fstoppers.com/post-production/turning-ideas-animations-chatgpt-and-after-effects-621834

자연어 처리(NLP)


Copyright FIN INSIGHT. All Right Reserved

컴퓨터는 자연어를 어떻게 다룰까

컴퓨터는 “계산기”다
즉, 사람의 말(Nutural Language)를 바로 이해할 수 없다.

컴퓨터는 자연어를 처리(Processing) 혹은 연산(Computation)한다
즉, 자연어를 계산가능한 형식으로 바꿔줘야 한다!

딥러닝이란

“ 머신러닝 방법론 중 하나로써
생물의 신경망 원리에 착안하여 만들어진 인공신경망 기법 ”

딥러닝 = 인공신경망(뉴럴네트워크) = 다층 퍼셉트론(MLP)


**정정 second output layer -> second hidden layer
https://elogeel.wordpress.com/2010/05/05/multilayer-perceptron/

머신러닝 개론 - 머신러닝이란

머신러닝 개론 - 어떻게 학습을 시키는가

0단계 : Hypothesis 폼을 정한다.
1단계 : Weights 초기값 설정 (최적의 weights를 한번에 찾을 순 없으니까)
2단계 : Cost 확인
3단계 : Wt+1 ← Wt − α ∗ Gradient

∗ Gradient : 기울기 = w의 변화량에 대한 Cost의 변화량
Cost가 낮아지려면 W가 어떻게 변화해야 하는지 방향을 알려준다.

머신러닝 개론 - 어떻게 성능을 향상시키는가

머신러닝 성능의 문제는 크게 두가지다.
1) 오버핏 (Overfit)
2) 언더핏 (Underfit)
➔ 위 두 문제는 결국 한마디로 정리할 수 있다.

“데이터의 복잡도와 모델의 복잡도의 부조화”

그럼 이 문제는 어떻게 해결해야 할까?

머신러닝을 한마디로

이미지 분류 문제로 다시 보는 머신러닝 개론

딥러닝의 역사


https://www.actuaries.digital/2018/09/05/history-of-ai-winters/

퍼셉트론

사람의 뇌를 모방한 인공뉴런,퍼셉트론

인공지능 연구진들은 ‘사람을 대신해서 문제를 해결하는 기계’를 만들기 위해 사람의 뇌 구조를 분석하고 이를 컴퓨터세계로 가져옴으로써 인공신경망을 만들 수 있을 것이라고 생각했다.
그러한 연구를 바탕으로 처음 제안된 인공 뉴런이 바로 퍼셉트론이다.
퍼셉트론의 동작을 이해하기 위해 먼저 생물학적 신경망을 보도록 하자. 사람의 뇌는 뉴런이라고 불리는 신경세포로 구성되어있다. 뉴런은 다수의 입력이 합산되어 하나의 통로로 출력이 되는데 합산된 값이 일정 값 이상이면 다음 뉴런으로 신호를 전달하고, 그 이하면 아무것도 하지 않는다.

뉴런을 본 따서 만든 인공 뉴런인 퍼셉트론도 이와 비슷하다.
2개의 신호가 입력으로 들어온 퍼셉트론의 예시를 통해 퍼셉트론의 동작을 알아보자.
오른쪽 그림에서 X1 , X2 는 입력신호, y 는 출력신호, w1 , w2는 가중치(weight)를 뜻한다.
가중치의 크기가 클수록 해당 신호는 중요한 신호라고 볼 수 있다. 입력 값(x)과 가중치(w)의 곱을 모두 더한 다음 바이어스(b)를 더한 값인 가중합의 결과를 두고 0또는 1로 출력하는 방식이다.

https://lifewithdata.com/2022/09/18/perceptron-in-machine-learning/

퍼셉트론의 작동 방식

x1w1 + x2w2 + b (b=bias(편향값))

활성화함수

이때 가중합의 값을 판단하는 함수를 활성화 함수(activation function)이라고 한다.
실제로 이보다 훨씬 많은 종류의 활성화 함수가 있다.

활성화 함수는 이름처럼 입력으로 들어온 신호들의 총합이 활성화를 일으키는지 판단하는 역할을 한다.
아래 퍼셉트론은 활성화 함수로 계단함수(step function)를 사용한다.

퍼셉트론의 Hypothesis

Perceptron의 hypothesis는 다음과 같다.
결국 input feature들의 가중합한 결과를 step function을 이용해 1 아니면 0으로 예측하게 때문이다. 퍼셉트론은 SVM 과 같이 비확률적 모형임을 알 수 있다.
선형 결정 경계선을 찾고, 경계선을 기준으로 비확률적으로 0 아니면 1로 예측한다.

퍼셉트론의 Cost 함수

퍼셉트론의 한계

다층 퍼셉트론의 등장

엄밀히 말하면, 퍼셉트론 한 개만 가지고는 비선형 문제를 풀 수 없다는 말이다.
그러나, 생물의 신경망은 뉴런 여러 개가 여러 층으로 구성되어 있지 않은가? 즉, 생물의 신경망은 단순한 연산을 수행하는 뉴런 여러 개가 네트워크를 형성하여 복잡한 연산을 한다는 말이다.
마찬가지로, 퍼셉트론 여러 개를 합쳐 다층 퍼셉트론을 구축하면 비선형 문제를 풀 수 있다. 아래 그림을 보자.

다층 퍼셉트론의 Hypothesis

“여러 층을 쌓으면 비선형 경계선을 그릴 수 있는 이유”
중간에 비선형함수인 활성화 함수가 경계선의 방정식에 포함되기 때문!

단일 퍼셉트론과 비교해보면, 좀 더 명확하다.
단일 퍼셉트론의 경계선 방정식은 WX 로만 이루어져 있는 반면, 다층 퍼셉트론의 경계선 방정식은 WX 에 활성화함수에 다시 한번 WX 까지 복합적으로 이루어져 있다. 여기서, 중요한 것은 활성화 함수가 만약 중간에 없다면, 다층일지라도 선형 방정식밖에 나오지 않는다.

https://machinelearninggeek.com/multi-layer-perceptron-neural-network-using-python/

profile
어떻게 오셨나요

0개의 댓글