AI 부트캠프 S4-WEEK1 1일차

DAYOUNG LEE·2021년 8월 10일
0
post-thumbnail

S4-WEEK1

신경망 기본 원리

  • 신경망의 학습
  • 역전파
  • 실전 프레임워크

Warm-up : 일반인을 위한 딥러닝 영상 feat.역사

(0-15분까지만 시청)

  1. 퍼셉트론(Perceptron)
  2. XOR 문제
  3. 다층 퍼셉트론(Multi-Layered Perceptron)
  4. 역 전파법(Backpropagation)

Warm-up : 신경망으로 Linear Regression

(03:25~08:50까지)
Neural Networks by Analogy with Linear Regression
w1w_1, w2w_2, bb 에대해 선형으로 나타낼 수 있으면 linear regression

복습 : 머신러닝 개발자들의 일반적인 실수, 과적합 (Overfitting)

How to overcome overfitting

  1. Regularization
  2. Cross Validation(교차검증)
  3. Add more data as much as possible

복습 : 데이터 split & shuffle for ML

인공지능(AI)

패턴인식(Pattern Recognition)

  • 신경망(Neural Networks)
    머신러닝
    *** 딥러닝(신경망)
  • 이미지인식(Image Recogition)
    컴퓨터비전(Computer Vision)
    *** 딥러닝(신경망)
  • 자연어처리(Natural Language Processing)
    자연어인식 (Natural Language Understanding) → 딥러닝 기반의 자연어 인식

휴리스틱 프로그램 (Heuristic Programs)

  • 게임 기술 (Game Playing)
    강화학습(Reinforcement Learning) → 딥러닝 기반 강화학습 (Deep Reinforcement Learning)

로보틱스(Robotics)

퍼셉트론(Perceptron)

신경망(딥러닝)의 기원이 되는 알고리즘

다수의 신호를 입력으로 받아 하나의 신호를 출력
(데이터와 가중치들의 연산의 흐름)

논리게이트

  • AND GATE
  • NAND(Not AND) GATE
  • OR GATE
  • XOR GATE
    exclusive or
    퍼셉트론의 한계를 지적

    XOR(1, 1) = 0
    XOR(1, 0) = 1
    XOR(0, 1) = 1
    XOR(0, 0) = 0

활성함수 (Activation function)

각 뉴런(노드, 그림에서 '원'으로 표현)에서의 연산값이 정해진 임계값(TLU; Threshold Logic Unit)을 넘을 경우에만 다음 노드들이 있는 층(layer)으로 신호를 전달

  • 계단함수(Step function)
  • 시그모이드(Sigmoid) 함수 : 이론(책)에서 많이 사용

    sigmoid(x)=11+exp(x)sigmoid(x) = \frac{1}{1+exp(-x)}
  • ReLU(Rectified Linear Unit) 함수 : 실제로 가장 많이 사용

신경망

신경망 층(Layer) 구성

입력층(Input Layers)

데이터셋으로부터 입력을 받음
입력 변수의 수 = 입력 노드의 수
계산X, 그냥 값들을 전달만

신경망의 층수(깊이, depth)를 셀 때 입력층은 포함X
(그림 : 2층 신경망)

은닉층(Hidden Layers)

계산이 없는 입력층과 마지막 출력층 사이에 있는 층들
변수 수와 상관 없이 다수의 노드가 포함 가능

  • 다층(multilayer) 신경망
    계산이 일어나는 층이 둘 이상인 신경망
    (그림 : 다층신경망O)
  • 딥러닝(deep learning)
    두 개 이상의 은닉층들을 가진 신경망
    (입력층을 제외) 3개 이상의 Layer를 갖는 신경망
    (그림 : 다층신경망X)

출력층(Output Layers)

대부분 활성함수(activation function)가 존재
: 풀고자 하는 문제에 따라 다른 종류를 사용

**(복잡한 딥러닝 방법론) 은닉층에서도 활성함수 사용

  • 회귀 문제(목표 변수가 실수값인 경우)
    활성화함수 불필요
    출력노드의 수 = 출력변수의 갯수
  • 이진 분류(binary classification) 문제
    활성함수 : 시그모이드(sigmoid) 함수
    출력을 확률 값으로 변환, label 결정
  • 다중클래스(multi-class) 분류 문제
    활성함수 : 소프트맥스(softmax) 함수
    출력노드의 수 = label 수

순방향 신경망(feedforward NN)

손실 함수(Loss function)를 통해 예측값과 실제값의 차이를 평가
경사 하강법(Gradient Descent)을 통해 최적의 가중치, bias를 찾음

신경망의 Nonlinearities(비선형성)

신경망 학습은 데이터에서 필요한 특성들을 신경망이 알아서 조합해서 찾아냄

머신러닝에서는
(사람) 데이터 분석, 특성공학
-> (컴퓨터) 머신러닝 통해 특성과 출력값과의 관계 찾아냄

신경망에서는
최소한의 전처리는 필요하지만, 특성 공학(Feature Engineering) 불필요

딥러닝과 머신러닝의 차이는 표현학습(representation learning)

신경망에서의 학습 = 가중치의 학습

퍼셉트론 복습

하나의 노드로 이루어진, 가장 간단한 신경망y=f(( bias +w0x0+w1x1++wnxn))y=f\left(\sum\left(\text { bias }+w_{0} x_{0}+w_{1} x_{1}+\ldots+w_{n} x_{n}\right)\right)

입력값들에 가중치를 곱해 모두 더한(선형결합) 후
활성화함수(activation function)에 넣어 결과를 출력

활성화 함수(Activation Functions)

각 노드는 활성화 함수를 가짐
(보통 각 층에는 같은 종류의 활성화 함수)
다음 층으로 신호를 얼마만큼 전달할지(혹은 전달할지 안할지)를 결정
전달함수(transfer function)라고도 부름

0개의 댓글