티스토리 뷰

개발공부/🤖 DL & ML

[딥러닝 기초] 퍼셉트론

2022. 10. 25. 20:40

1️⃣ 딥러닝 개론

 

▶  딥러닝의 정의

 

머신러닝의 여러 방법론 중 하나로, 인공신경망에 기반하여 컴퓨터에게사람의 사고방식을 가르치는 방법.

머신러닝도 인공지능의 방법론(method) 중 하나.

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

 

 

▶  인공신경망의 정의

 

생물학의 신경망에서영감을 얻은 학습 알고리즘으로, 사람의 신경 시스템(Neuron System)을 모방.

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

 

 

 

▶  인공신경망의 특징

 

모델 스스로 데이터의 특성(feature)을 학습하여 지도학습(Classification, Regression), 비지도학습(Clustering)을 모두 적용 가능하다.

 

→ 딥러닝은 지도학습, 비지도학습이 모두 적용 가능한 모델이다.

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

 

 

▶  딥러닝의 역사

 

-  퍼셉트론(perceptron)의 개념이 처음 등장한 것은 1958년

-  1960 ~ 1980년대에 딥러닝의 첫 트랜드?붐? 시기이자 이 때 인공신경망에 기본이 되는, 중심이 되는 수학적, 이론적 배경이 많이 만들어짐

- 2000년대 초반 딥러닝의 필요한 요소들이 갖춰짐

- 2012년 다양한 분야에서 딥러닝의 필요성 인식

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

 

 

▶  현대의 다양한 딥러닝 기술 적용 사례

 

- 얼굴 인식 카메라

- 기계 번역 모델

- 알파고 제로 

...

 

 

 

 

 

 

 

2️⃣  퍼셉트론 (Perceptron)

 

▶  인공신경망 이전의 연구

 

패턴을 사람이 먼저 인식하고 파악하고 분류함   

→   명시적 프로그래밍

if () then {
else if () then {
} else if () then {
} else if () then {} else if () then {}
.
.
.

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

 

 

 

▶  명시적 프로그래밍의 한계

 

ex)  자율 주행 자동차

 

모든 상황을 예측하고 대비해야하는데 이를 명시적 프로그래밍을 적용할 경우

수백, 수천개의 rule이 작성되어야 하고, rule로 캡쳐되지 않은 다양한 상황들이 존재할 것이기 때문에

정확도가 떨어질 수 밖에 없다.

 

→   따라서, 사람이 직접 기계에 일일이 입력을 하고 가르치지 않아도 기계가 스스로 사람처럼 학습할 수 있는 기술의 필요성이 생김

 

 

 

 

 

 

 

▶  초기 형태의 신경망,  퍼셉트론 (Perceptron)

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

 

 

 

▶  퍼셉트론의 기본 구조

 

입력값에 가중치를 주고 bias와 summation(∑)하여 그걸 비선형 함수인 activation function에 넣어서 출력값을 나오게 하는 구조

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

𝑥1, 𝑥2 입력값 (input)
𝑤1,𝑤2 가중치 (weight)
𝐵 Bias
𝑦 출력값 (output)
𝑦 = 𝑎𝑐𝑡𝑖𝑣𝑎𝑡𝑖𝑜𝑛(𝑤1𝑥1 + 𝑤2𝑥2 + 𝐵)

 

 

 

 

 

 

▶  활성화 함수 (Activation Function)

 

노이즈 제거, 분류를 잘되게, 좋은 w(가중치)값을 찾기위해 필요한 수학의 복잡도를 낮추기 위해, ... 등의 이유로 사용되는 비선형 함수

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

 

 

 

▶  퍼셉트론 동작 예시

 

def perceptron(x, weights):
    # bias
    sum_ = weights[0]
    for i in range(len(x)-1):
        pre_y += weights[i+1] * x[i]
    return 1 if pre_y >= 0 else 0

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

 

 

 

 

3️⃣  퍼셉트론 선형 분류기

 

▶  논리 회로의 역할을 수행하는 퍼셉트론

 

-  선형 분류를 할 수 있는 모델은 다양

-  퍼셉트론이 그 중에서 간단하면서 정확도를 높일 수 있는 선형 분류기 중 하나

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

▶  논리 회로의 정의

 

-  논리 회로  :  일정한 논리 연산에 의해 출력을 얻는 회로

 

 

1)  AND gate

 

 A, B 모두 참일 경우 C가 참이다.

(모든 입력이 참일 경우 출력이 참)

 

 

 

 

2)  OR gate

 

 A 또는 B가 참일 경우 C가 참이다.

(입력 중 하나라도 참일 경우 출력이 참)

 

 

 

 

 

3)  NAND(NOT-AND) gate

 

A, B 모두가 참일 경우에만 C가 거짓이다.  →   AND gate 결과의 부정

(모든 입력이 참일 경우 출력이 거짓)

 

 

 

 

 

4)  NOR(NOT-OR) gate

 

A 또는 B가 참일 경우 C가 거짓이다.  →   OR gate 결과의 부정

(입력 중 하나라도 참일 경우 출력이 거짓)

 

 

 

 

 

▶  선형 분류를 위한 퍼셉트론  :  단층 퍼셉트론 (Single Layer Perceptron)

 

논리 회로 중 AND, OR, NAND, NOR는 선형 분류기로 분류할 수 있다.

→ 단층 퍼셉트론으로 데이터를 분류해낼 수 있다.

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

1)  입력층 (Input Layer)

:  외부로부터 데이터를 입력 받는 신경망 입구의 Layer

 

 

2) 출력층 (Output Layer)

:  모델의 최종 연산 결과를 내보내는 신경망 출구의 Layer

 

 

→  Input Layer, Output Layer는 모든 딥러닝 전반에서 사용되는 용어

 

 

 

 

 

▶  퍼셉트론를 활용한 선형 분류기

 

-  0, 1 데이터를 계산하던 퍼셉트론 논리 회로에서 확장

-  선형 분류기로써 데이터 분류 가능

 

→  선형으로 분류할 수 있는 데이터에 대해서는 퍼셉트론 하나만으로도 분류가 가능하다.

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

 

 

 

4️⃣  비선형적인 문제

 

▶  하나의 선으로 분류할 수 없는 문제의 등장  :  단층 퍼셉트론의 한계

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

XOR gate

 

A 또는 B 중 정확히 하나만 참일 경우 C가 참이다.

(입력 중 정확히 하나만 참일 경우 출력이 참)

 

 

 

-  비선형적 논리 게이트

-  단층 퍼셉트론으로는 해결 불가능한 XOR gate

-  XOR 문제 등 비선형 문제를 해결하지 못해서 첫번째 AI 빙하기가 찾아옴

 

→  비선형적 접근 방법의 필요성

 

 

 

 

 

 

 

5️⃣  다층 퍼셉트론

 

▶  비선형적인 문제 해결

 

-  XOR문제를 해결하며 1986년 첫 번째 빙하기가 끝나게 되었다.

 

-  단층 퍼셉트론은 입력층과 출력층만 존재   →   단층 퍼셉트론을 여러 층으로 쌓으면?

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

-  XOR 연산은 하나의 레이어를 사용하여 표현하는 것은 불가능하지만, NAND와 OR 연산을 함께 사용할 시 표현 가능하다.

(하나의 선을 그어서는 표현할 수 없지만, 두 개의 선을 함께 사용하면 표현이 가능하다.)

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

→  이렇게 단층 퍼셉트론을 여러 개 쌓은 것을 다층 퍼셉트론(Multi Layer Perceptron)이라고 한다.

 

 

 

💡  AND와 NOR 연산을 함께 사용 시에도 XOR문제를 해결할 수 있다.

 

 

 

 

 

 

 

 

▶  다층 퍼셉트론(Multi Layer Perceptron)

 

히든층 (Hidden Layer)

:  입력층과 출력층 사이의 모든 Layer

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

-  히든층이 3층 이상일 시 깊은 신경망이라는 의미의 Deep Learning 단어 사용

(꼭 3개 이상일 때 딥러닝이라고 하는 것은 아니고 사람마다 다르게 사용)

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

-  다층 퍼셉트론이 결정할 수 있는 영역

 

이미지 출처 : 엘리스 딥러닝 기초 1장 퍼셉트론 강의자료

 

 

 

 

 

 

 

 


 이 글은 엘리스의 AI트랙 5기 강의를 들으며 정리한 내용입니다.

반응형
프로필사진
개발자 삐롱히

프론트엔드 개발자 삐롱히의 개발 & 공부 기록 블로그