본문 바로가기

[학교]/처음부터시작하는딥러닝

[인공지능, 머신러닝, 딥러닝 구분]

인공지능

  • 인간과 유사하게 사고하는 컴퓨터 지능을 일컫는 포괄적인 개념
    • 기계가 주변 환경과 상호 작용을 하는 다양한 방법으로 학습

머신러닝

  • 머신러닝은 인공지능의 부분집합으로 데이터를 통해 컴퓨터를 학습시키거나, 컴퓨터가 스스로 학습하여 인공지능의 성능을 향상시키는 방법
    • 특정 업무를 처리하는 컴퓨터의 프로그래밍 접근법이 아니라 학습하는 것에 초점을 맞춤
    • 설계자는 주제에 맞는 관련 데이터만 프로그램을 설계하고 결과는 기계가 최적값을 도출하기에 설계자가 결과를 예측하긴 어렵다. 
    • 종류
      • 신경망
      • 서포트벡터머신(SVM)
      • 결정트리(Tree)
      • 베이지안신뢰네트워크

딥러닝

  • 여러 개의 은닉 계층을 통해 깊게 학습한다고 해서 붙여진 이름
    • 신경망은 인간 뇌의 동작방식에 착안하여 개발한 학습방법
    • 머신러닝의 부분 집한인 딥러닝은 컴퓨터의 지능을 한 차원 더 올려놓은 역할을 수행함
    • 종류
    • 신경망
      • DNN(심층신경망)
      • CNN(합성공 신경망)
      • RNN(순환 신경망)

인공신경망이 이제 화두되는 이유

  • 빅데이터와 GPU의 발전 그리고 딥러닝 알고리즘이 연구되었기 때문
    • GPU의 병렬처리 능력으로 인해 가능해짐
    • 신경망의 성능은 학습 데이터의 '양'에 의하여 결정

 


머신러닝 과정

  • 기계에 학습할 기초 데이터를 학습데이터, 검증데이터, 테스트데이터로 나눈다.
  • 학습데이터를 기반으로 데이터의 규칙을 생성하고, 검증데이터로 결과를 모의테스트 하여, 유의미한 결과를 나올 시 테스트데이터로 실전 테스트를 하는 과정을 따른다.
  • 즉, Raw Data에서 특징을 추출해서 가져온 Feature를 생성한다.
    • 각 부류마다의 특징을 수치화 시켜 표현한다.
  • Feature를 추출하고, 학습시키는 과정은 W를 찾는 과정이다.
  • 머신러닝은 W를 찾는 과정이다.

머신러닝 세가지 학습 모드

  • Supervised Learning (지도학습)
    • 레이블(미리정해 놓은 정답) 달린 예제로 학습함
    • 예제가 매우 많은 경우 효과적인 학습이 가능
    • 예) 분류(Classifitcation):레이블이 이산적인(discreate)경우
    • 예2) 회귀(regression): 레이블이 연속적인 값을 갖는 경우
  • Unsupervised Learning (비지도학습)
    • 데이터에 내재된 패턴, 특성, 구조를 학습을 통해 발견하며 레이블은 고려하지 않는다.
    • 클러스터링이 대표적인 예
  • Reinforcement Lerning (강화학습)
    • 시스템의 동작이 적절성에 대한 피드백이 있는 학습
    • 소프트웨어 에이전트가 환경 내에서 보상이 최대화되는 일련의 행동을 수행하도록 학습한다
    • Action Selection, Planning, Ploicy Learning

SVM

  • 패턴 인식, 자료 분석을 위한 지도 학습 모델로 분류와 회귀 분석을 위해 사용한다
  • 악성 댓글이냐 아니냐 용도로 많이 사용함
  • 두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때, SVM 알고리즘은 주어진 데이터 집합을 바탕으로 하여 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델을 만든다.
  • 만들어진 분류모델은 데이터가 사상된 공간에서 경계로 표현되는데 SVM 알고리즘은 그 중 가장 큰 폭을 가진 경계를 찾는 알고리즘
  • SVM은 아래 그림에서 선의 구분이 명확할 수록 좋은 모델링이다.

회귀분석(Regresssion Anlaysis)

  • 둘 또는 그 이상의 변수들간의 의존관계를 파악함으로서 어떤 특정한 변수의 값을 다른 한 개 또는 그 이상의 변수들로부터 설명하고 예측하는 방법
  • 회귀모형 : 여러가지 가설
    • 예) "여름에 기온과 사이다의 판매량에 어떤 관계가 있을 것이다"
    • 독립 변수의 값을 토대로 종족변수의 값을 예측할 수 있다.

신경망

  • 인공신경망은 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기(weights, bias)를 변화시켜 문제 해결 능력을 가지는 모델을 말한다.
    • 즉, 입력값, 출력값 Label을 갖고 시냅스의 가중치를 계속 수정하여 오차를 줄이고 이러한 수정된 가중치를 갖고 신경망의 출력을 계산한다.

인공신경망 구조

  • 입력층, 출력층, 은닉층으로 구성한다 은닉층은 1개층 이상으로 구성된다.
  • 입력층에서는 수집된 데이터로부터 추출된 정보를 입력한다.
  • 은닉층에서는 입력값과 가중치가 곱해진 입력신호의 종합을 계산하고, 그 합을 활성화함수(SoftMax)를 이용하여 신호를 변환, 변환된 신호를 출력층에 전달한다. -> 전이 함수, 활성화 함수 사용
  • 출력층에서는 손실함수를 이용하여 추정의 정확도 판단 -> 손실 함수 사용
  • 정확도를 최적화하기 위해 경사하강법, 오차역전파법등 이용하여 반복적으로 학습 수행(가중치 Weithgts 갱신) -> 손실 함수에서 나온 cost 값이 이전 cost보다 나은 값이면 가중치를 갱신한다.
    • 전이함수, 활성화함수,손실함수, 경사하강법,오차역전파법