딥러닝 아주 간단히 정리

Nam Eun-Ji·2021년 1월 15일
0

여러 글들을 읽고 아주 간단히 작성한 글이니 더 궁금하다면 중간중간 참고링크들을 확인하세요 :)


딥러닝

딥러닝은 주어진 데이터들의 날 것을 그대로 받아들여(컴퓨터는 숫자로 받아들이겠지?), 스스로 학습하면서 데이터의 feature를 검출해내어 결과값을 도출해내는 것이다.


내재적 표현

내재적 표현이란 데이터가 담고 있는 정보를 나타내는 표현이다. 말이 어렵지만 예를 들어 오이는 [울퉁불퉁하다, 길다, 초록색, ...]이란 특징들을 뽑아낼 수 있는데 이러한 특징들을 나타내는 표현이라 생각하면 이해가 좀 쉽다. 사람은 오이라는 이미지를 보고 이런 특징들과 오이라는 것을 바로 알 수 있지만, 컴퓨터는 그저 숫자에 불과한 데이터를 보고 바로 알지 못한다. 그래서 딥러닝의 목표는 데이터를 가지고 내재적표현을 추출해내고, 올바른 값을 도출해내는 것이다.

연결주의 측면에서의 딥러닝

딥러닝은 연결주의(Connectionism)부터 시작되었다고 본다. 그럼 연결주의는 어떻게 나오게 된걸까? 연결주의는 행동주의에 반발하면서 나온 학문이다. 그럼 행동주의는 무엇일까?

행동주의

행동주의가 나오고 인간을 너무 단순화했다며 이에 반발하는 학문이 나왔다. 그것은 인지주의.

인지주의

  • 자극 → 정보처리과정 → 행동
  • 인간은 뇌를 통해 정보처리과정을 거친 후 행동한다.

이제 드디어 연결주의가 나온다. 인지주의의 정보처리과정을 수행하는 모형 중 한가지가 바로 연결주의이다.

연결주의

  • 인간의 중추 신경계 (특히 뉴런)에서의 처리를 추상화하여 의사 뉴런을 구축하고 그것을 계층에 다소 모으기 위한 지능체를 구축
  • 미리 분류 기준을 주지 않고 다수의 사례를 주고 '경험'함으로써 스스로 '학습'해간다.
  • 위키백과 - 연결주의

위에 간단히 딥러닝에 대해 설명했던 내용과 비슷하다! 딥러닝은 이 연결주의를 기반으로 두고 있다. 그래서 왜 딥러닝을 인공뉴런 혹은 뉴런이라고 부르는지 이해가 간다.


그럼 개발자는 뭘 해줘야해?

머신러닝, 딥러닝에서는 데이터를 입력받아 어떠한 값으로 출력하는 함수를 '모델'이라고 한다. 그럼 대량의 데이터에 모두 알맞는 함수가 존재할까? 그렇지는 않다고 본다. 많은 데이터에는 다양한 변수가 존재하는데 이를 다 완벽히 파악하긴 힘들 것이다. 그렇기 때문에 머신러닝, 딥러닝은 그나마 가장 잘 나오는 함수를 찾기위해 계속 시도할 것이다. 그럼 우리가 그나마 가장 잘 나오는 함수를 찾기 위해 해주어야 할 것은?

1. 데이터에 알맞는 함수가 특정한 함수 공간에 존재할 것이라 생각하여 그 함수 공간을 찾아준다.

  • Inductive Bias를 잘 설정하는 것이 중요.
  • Inductive Bias(Prior) : 어떤 데이터에 대한 문제를 풀기 위해 '이러한 형태의 함수가 유리할 것'이라고 판단하고 함수 공간을 정하는 것

2. 해당 함수 공간 안에서 최적의 함수를 찾아나간다.

  • 이 단계가 보통 머신러닝, 딥러닝에서는 모델학습 부분에 해당한다.

딥러닝 모델

딥러닝은 머신러닝의 세부 방법론들을 통칭하는 개념에 불과하다. 즉, 머신러닝에 딥러닝이 포함된다고 볼 수 있다. 그럼 머신러닝의 구성요소에는 무엇이 있을까?

  • 데이터
  • 러닝 모델(러닝 알고리즘)
  • feature 추출

러닝모델의 종류

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

  • 퍼셉트론
    선형모델에 활성함수를 적용하여 결과값을 출력하는 것이다. 마치 여러 돌기에서 자극을 받아 하나의 돌기로 출력을 내보내는 뉴런과 비슷하다고 하여 인공뉴런(혹은 뉴런)이라고도 불린다.

  • 다층 퍼셉트론
    퍼셉트론을 기본 빌딩 블록으로 하여, 이런 패턴에 따라 2차원적으로 연결되어 구성되는 인공신경망의 일종이다. 퍼셉트론은 입력층→은닉층→출력층 3개의 층으로 이루어져있는데, 여기서 은닉층의 개수가 많을수록 deep해진다고 하며, 이런 모델을 딥러닝이라고 한다.

딥러닝 모델

  • 완전 연결 신경망
    다층퍼셉트론을 지칭하는 또 다른 용어이며, 서로 같은 층에 있는 노드간에는 연결성이 없는 것이 특징이다.

  • 컨볼루션 신경망
    하나의 노드에 가중치 값을 붙인 후 필터를 통해 노드 간 겹쳐지는 부분에 대해서 가중합 및 활성함수 연산을 한 것이다. 컨볼루션 필터는 2차원 영역 상의 물리적 거리가 중요한 판단 기준이 디는 이미지 등의 데이터에 대해 효과적으로 사용할 수 있다.

  • 순환신경망
    순환 루프가 존재하는 신경망으로, 시퀀스데이터에 적합하다. 그래서 보통 자연어처리 분야에서 많이 사용하고 있다.

머신러닝이란 무엇인가?
딥러닝이란 무엇인가? 1
딥러닝이란 무엇인가? 2

딥러닝의 장단점

  • 장점 : feature를 추출하는데 스스로 학습하고, 최적의 성능을 발휘하는 가중치를 더욱 효과적으로 찾을 수 있다.
  • 단점 : 많은 데이터가 필요하고 학습량이 많아 학습시간이 낮다.

profile
한 줄 소개가 자연스러워지는 그날까지

0개의 댓글