29일차 강의 : 인공신경망 기초 (퍼셉트론, 신경망)

Luis_J·2024년 10월 22일
0

MS_AI_School 5기

목록 보기
31/48

Summary

Introduction

강명호 교수님

Code, Conept & Explanation

파이썬 복습

스칼라는 숫자 하나
브로드캐스트는 값이 여러개로 늘어나는 것

행렬
행과 열
축1, 축2

밑바닥부터 시작하는 딥러닝

신경망 배우는 분들이 교과서처럼 활용

미분은 기울기이다
미분 = 기울기

퍼셉트론

인간의 뉴런

입력신호
가지돌기
신경세포체
핵 : 연산
축삭 돌기 : 자극을 전달, 네트워크 망 역할
출력신호

퍼셉트론 Perceptron

인간의 뉴런을 모방

신경세포의 핵
입력값 : x1, x2
가중치 : w1, w2
출력값 : y

특정 임계치 넘는 경우만 진행

로젠블랫(Frank Rosenblatt)이라는 과학자가 1958년에 제안한 인공 신경망 모델

XOR을 해결하지 못함
인공지능의 1차 겨울 도래

1980년대가 되자
연산 조합하면 가능할 것이라는 제프리 힌튼과 연구진

입력값 : 흑백

게이트

θ : 임계값
b : bias, 편향

AND 게이트

가중치 매개 변수
가중치 파라미터

가중치 파라미터가 있다면
신경세포를 구현할 수 있습니다

w1, w2 = 0.5
b = -0.7

OR 게이트

w1, w2 = 0.5
b = -0.2

웨이트는 입력값을 조정
편향은 결과값을 조정

NAND 게이트

NAND : not and
w1, w2 = -0.5
b = 0.7

XOR 게이트

배타적일 때만, 1로 처리
배타적 논리의 합

NAND - OR - AND 조합

다층 퍼셉트론 : MLP (Multi Layer Perception)

  1. 입력층(Input layer) : 인풋 데이터
  2. 중간층, 은닉층 : 여러 퍼센트론 조합 (비선형 활성화 함수 사용)
  3. 출력층 : 최종 결과값

퍼셉트론 정리

임계치를 넘으면, 넘지 못하면 값이 달라짐

나중에 행렬 단위 계산시
1 x b
x1 x w1
x2 x w2
y

신경망

비선형 활성화함수의 사용

선형 함수를 여러 번 사용하더라도
선형 함수로 머무를 수밖에 없음

f(x) = ax + b
가산성 f(x+y) = f(x) + f(y)
동차성 f(c x) = cf(x)

선형함수는
층을 깊게 쌓는데 아무런 효과가 없습니다

1개 쌓거나
여러 개 쌓거나 동일한 선형입니다

활성화 함수 (Activation function)

활성화 함수 : 입력값을 일정 기준에 따라 변화시켜 출력하는 비선형 함수

주어진 값이 특정 조건을 만족하게 되면 해당 값 출력

비선형 (Non-linearty) 추가
출력 범위 제한
Gradient
계산 효율성

계단함수

Sigmoid 함수
매끈하다
미분도 가능합니다

시그모이드 함수 (Sigmoid)

x가 커진다
e의 -x 제곱은 0에 가까워집니다
σ(x) 값은 1에 가까워진다

x가 작아진다
σ(x) 값은 0에 가까워진다

미분 결과를 본래 함수로 표현 가능
σ(x)(1-σ(x))

h(x) = 1 / 1+exp(-x)

e 자연상수 = 2.718...
log2x
lnx 자연상수가 로그이다

ReLU 함수

h(x) = x (x > 0)
h(x) = 0 (x <= 0)

ReLU(x) = max(0, x)

시그모이드 함수는
0.25를 계속 곱해주면 0으로 수렴해서 사용할 수 없는 경우가 발생

보완하기 위해, ReLU 함수 생각
교류를 직렬로 변경

복잡한 것이 아니라
단순한 함수를 통해 깊이 있는 이해 가능
콜럼버스의 발견과 같다고 생각

다차원 배열의 계산

ndim : 차원수 확인
shape : 형상 확인
처음 차원 : 0
0 다음 차원 : 1
2차원 배열을 matrix라고 부름

용어 정리

scalar : [1]
vector : [1,1]
matrix : [[1,1],[1,1]]
3-tensor : [[[1,1].[1,1]].[[1,1].[1,1]].[[1,2],[2,1]]]
n-tensor

다차원 배열

벡터의 내적, dot product

numpy에서 1행짜리 vector

vector 내접
1행짜리 vector는 transfer 해서 활용 가능

3층의 신경망

참고 정리

입력층 선형함수 가중치(기울기) 편향(절편)
은닉층 비선형함수 가중치 중첩(행열의 곱)
입력층, 편향값, 은닉층 : 1차원 벡터
가중치 : 2차원 배열

신경망학습

오차역전파법

미분에 많은 CPU가 소모되기 때문에, 역으로 계산

Challenges & Solutions

Results

What I Learned & Insights

Conlcusion

profile
New life & History
post-custom-banner

0개의 댓글