FUNDAMENTAL | 14. 딥러닝과 신경망의 본질

yeonk·2021년 10월 8일
2

aiffel-ai-bootcamp

목록 보기
27/38
post-thumbnail

20211006

lms 시작 전 퍼실님, 조원분들이랑 나눈 이야기.
'딥러닝의 본질은 무엇인가?🤔'
다들 다양한 의견을 내주셨고 결론적으로는 '딥러닝은 비선형 함수이고, 그 과정에서 최적해를 찾는 것이다.' 으로 종합됐다.



1. Deep Learning


머신러닝의 하위 집합.
학습하는 모델의 형태가 신경망이다.

인공지능의 안에 머신러닝이 있고, 그 안에 딥러닝이 있다.

인공지능은 기계가 학습을 통해 자체적으로 규칙, 시스템을 구축하는 것을 말한다.

머신러닝은 기계가 데이터를 통해 스스로 학습을 하는 것이다. 데이터 분석을 통해 패턴을 학습하고 이를 통해 판단과 예측을 한다.






Deep learning is inspired by neural networks of the brain to build learning machines which discover rich and useful internal representations, computed as a composition of learned features and functions.

뇌의 신경 구조로부터 영감을 받아 신경망 형태로 설계된 딥러닝의 목표는, "합성된 함수를 학습시켜서 풍부하면서도 유용한 내재적 표현을 찾아내는 machine을 구축하는 것"이다.

딥러닝의 목표는 좋은 표현을 찾아내는 머신을 만드는 것이다.






Representation Learning

한 가지 데이터는 다양한 방법으로 표현될 수 있다.
예를 들면, 한가지 데이터로 존재 그 자체 형태, 시각적 표현, 표로 나타내기, 카테고리로 표현하기



계층적 관계(Hierarchical) 를 가지는 표현 방법들 (사람의 개입 정도)

  1. 분자 형태(데이터의 형태 그 자체)
  2. 시각적 표현
  3. 카테고리

	 출처: AIFFEL FUNDAMENTALS 14. 딥러닝과 신경망의 본질
     



내재된 표현: 데이터가 담고 있는 정보의 총체, 함의를 나타내는 표현






2. 딥러닝을 관통하는 철학


행동주의

학습된 행동은 자극의 반복으로 만들어진다!

  • 인간의 지능은 자극행동 과정의 반복으로 생성

  • 심리학을 과학적으로 접근하고자 하는 시도를 가진 분야

  • 무의식과 같이 관찰될 수 없는 것을 배제

  • 인간의 지능 및 내면은 자극으로 형성되는 후천적인 것이라고 주장

  • 조작적 조건화(Operant Conditioning): 외부에서 받는 자극으로 인해 학습되는 과정

  • 강화(Reinforcement): 어떤 행동을 한 뒤에 생명체가 원하는 것을 제공하는 것

  • 강화 이론은 강화 학습의 근간이 되는 이론






인지주의

인간에겐 정보를 처리하는 의식이 있다!
인간은 정보 처리를 통해 행동을 만들어 낸다!

  • 인간의 마음 → 정보 처리 체계

  • 인간의 뇌가 정보를 처리하는 과정 → 신경과학 분야 탄생






연결주의

뇌에 있는 뉴런의 연결고리를 통해 정보처리가 이루어진다!

  • 머신러닝의 5종족

    • 기호주의자
    • 연결주의자
    • 진화주의자
    • 베이즈주의자
    • 유추주의자
  • 연결주의의 지능체는 초기 백지 상태에서 경험을 통해 스스로 학습해나간다.

  • 학습된 내용은 각 뉴런에 저장되어 있으며, 자극에 따라 연결 형태가 변화됨에 따라 학습된 내용이 변화되는 과정을 거친다.

  • 딥러닝은 연결주의를 따른다.






3. 신경망의 본질


신경망은 함수에 빗대어 표현할 수 있다.

  • 수학의 함수와 프로그래밍의 함수는 그 본질이 비슷하다.
    • 입력, 내부 연산, 출력이라는 동일한 형태를 보인다.






함수의 역할

  • Relation: 함수는 x와 y의 관계를 나타내는 도구이다.
    • y는 x의 변화에 종속적이다.
    • x, y간 함수의 형태에 따라 x의 변화 정도에 따른 y의 변화 정도가 결정된다.
  • Transformation: 함수는 x를 변환해주는 도구이다.

    • 선형 변환(Linear Transformation)은 행렬곱 연산과 연관되어 있다.
    • 선형대수학에서는 변환 역할을 하는 함수가 변환하기 전의 vector를 입력받아 변환된 후의 vector를 출력한다.
    • 2차원 평면에서 변환은 축(grid)을 옮기는 역할을 한다.
    • 선형 변환의 조건1: 축은 변환 전 후 모두 직선의 형태를 유지해야함
    • 선형 변환의 조건2: 변환 후에도 원점은 이동하지 않아야 한다.
  • Mapping: 함수는 x의 공간 → y의 공간으로 매핑 해주는 도구이다.

    • One to One: 입력값과 출력값 모두 스칼라인 경우 (스칼라-스칼라)
      • 단변량 회귀(Univariate Regression)가 해당
    • Many to One: 다수의 정보를 입력받아 하나의 값을 출력 (벡터-스칼라)
      • 다변량 회귀(Multivariate Regression) 가 해당
    • Many to Many: 입출력 값이 모두 다수인 경우 (벡터-벡터)
      • 분류 문제가 이에 해당






함수와 모델

수학과 프로그래밍에서의 함순은 모두 고정된 형태였으나, 모델(머신러닝, 딥러닝에서의 함수)는 고정된 것이 아니다.
머신러닝, 딥러닝에서는 완벽한 함수가 아닌 잘 근사 할 수 있는 함수를 찾는 시도를 하는 것이다.

  • 원하는 모델을 구축하려면?
    • 모델을 어떤 함수로 나타낼 것인지 설정하기

      • 어떤 함수를 선택하는지에 따라 성능은 크게 달라질 수 있다.
      • Inductive Bias: 데이터를 설명할 수 있는 최적의 함수가 특정한 함수 공간에 존재할 것이라는 가설
      • 일반화가 잘 되려면 일반적인 패턴을 잘 반영할 수 있는 모델이어야 한다.
      • 그렇기 때문에 Inductive Bias를 제대로 설정하는게 매우 중요하다.
    • 해당 함수 공간 안에서 최적의 함수를 찾아내기

      • 모델 학습 단계에 해당
      • 정답을 향해 가는 보정의 과정
      • Gradient Descent(경사하강법)이 해당






4. AI 현재와 미래


  • 머신러닝과 딥러닝의 목표

    • 머신러닝의 목표: 주어진 데이터로부터 패턴을 학습하여 결과를 예측하는 것
    • 딥러닝의 목표: 입력값에 내재되어 있는 표현을 나타내도록 학습하는 것
  • Feature Engineering
    - 머신러닝은 피처를 사람이 가공해줘야한다.
    - 성능을 높이기 위해 데이터 전처리는 필수적이다.

    • 데이터 전처리, 가공하는 모든 과정을 피처 엔지니어링이라고 함
  • 딥러닝 모델은 복잡성을 증가시켜 피처 엔지니어링을 최소화 한다.
    - 딥러닝은 비정형 데이터에서 표현을 추출하는 것에 강함

    • End-to-End Learning 추구






머신러닝과 딥러닝

선형 모델(Linear model)

직선(또는 평면, 초평면)의 형태로 정의되는 러닝 모델

  • 가장 단순한 러닝 모델

  • 학습 속도가 빠르고 인간이 이해하기 쉽다.

  • 이미지는 복잡성이 높아 선형 모델에 반영하기 어려움이 있다.

    • 이미지 인식 분야에선느 인공신경망을 사용(높은 러닝 모델)



퍼셉트론(perceptron)

선형 함수와 비선형 활성화 함수를 거치는 합성 함수

  • 퍼셉트론을 풀어서 생각해보자
    • 입력벡터를 받음
    • 각 성분에 가중치를 곱한다 (선형모델)
    • 결과를 모두 합산하여 활성화 함수 σ(⋅)를 적용
    • 위의 전체적인 과정을 수행하는 선형 모델을 하나의 함수로 나타낼 수 있고, 이를 퍼셉트론이라고 한다.



  • 퍼셉트론의 형태
    - 3개의 층을 이룸
    • 입력층(input layer): 입력 벡터가 자리잡는 층
    • 은닉층(hidden layer): 입력층과 출력층 사이에 위치하는 모든 층
    • 출력층(output layer): 최종 출력값이 자리잡는 층



  • 다층 퍼셉트론(MLP: multi-layer perceptron)
    - 퍼셉트론을 기본 빌딩 블록으로 하여, 2차원적으로 연결되어 구성되는 인공신경망



  • 심층 신경망(DNN: Deep neural network)
    • 다층 퍼셉트론에서 은닉층의 개수가 많아진다 → 인공신경망이 깊어지는 것
    • 심층 신경망은 딥러닝을 위해 사용하는 깊은 인공 신경망을 뜻함



  • 대표적인 딥러닝 모델
    • 완전 신경망
    • 컨볼루션 신경망: 이미지 처리에 많이 사용
    • 순환 신경망: 자연어 처리에 많이 사용



  • 요인 표현 학습(feature representation learning) 능력
    • 요인 표현 방법을 스스로 학습
    • 요인 표현 학습을 통해 가중치를 더욱 효과적으로 찾는 능력



  • 컨볼루션 신경망

    • 저층: 저수준(low-level)의 특징들을 요인 표현

      • 세부 영역에서의 경계, 명암, 색상 변화 등
    • 고층: 고수준(high-level)의 특징들을 요인 표현



  • 딥러닝 모델의 약점
    • 학습을 위해 많은 데이터가 필요함
    • 연산량이 높아 시간이 오래걸림






추가 자료

인공 지능, 머신 러닝, 딥 러닝 차이점이 무엇일까요?

조슈아 벤지오 SNS 글

나무위키 - 행동주의

조작적 조건화

인간의 행동을 '조작'할 수 있다면? '스키너의 상자'(Skinner Box)

나무위키 - 인지심리학

위키백과 - 연결주의

Linear transformations and matrices

위키백과 - 스칼라(Scalar)

위키백과 - 벡터(Vector)

머신러닝이란 무엇인가?

딥러닝이란 무엇인가? (1)

딥러닝이란 무엇인가? (2)

블랙박스(Black box)라고?

못 믿겠다 AI, 설계자도 심층신경망 작동 방식 몰라

설명가능 인공지능이란?

LIME 라이브러리

The Bitter Lesson 번역

2개의 댓글

comment-user-thumbnail
2021년 10월 9일

와 정리 열심히 하고 계셨네요 bbb 자주 구경오겠습니다

1개의 답글