ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1. 인공지능과 기계학습, 그리고 딥러닝
    Deep Learning/Fundamentals 2020. 2. 5. 01:08

    인공지능? 기계학습? 딥러닝? 

     

    인공지능이 무엇인지도 모릅니까 휴먼

    우리는 지금 딥러닝에 기반이 되는 이론들을 함께 정리해나가고자 하고 있다. 그런데 딥러닝이 무엇인지 정확히 알고 있는가? 그렇다면 인공지능과 기계학습은 무엇이고 딥러닝과 어떻게 다른 것인지 구분할 수 있는가? 그렇다. 무엇이든 공부를 시작하기 위해서는 용어에 대한 개념을 먼저 확실히 세워야한다.

     

     

    인공지능 (Artificial Intelligence)

    다음의 두 문제를 풀어보고 두 문제가 서로 어떻게 다른지 생각해보자.

     

    1. 아래의 문장을 읽어보자. 읽으면서 문장에서 F가 몇번 나오는지 세려보자. (단, 한번에 세려야하며, 뒤로 돌아가서 다시 세릴 수 없다.)

     

    FINISHED FILES ARE THE RESULT OF YEARS OF SCIENTIFIC STUDY COMBINED WITH THE EXPREIENCE OF YEARS.

     

    2. 아래의 문장을 이해하여라.

     

    Sleon une ´edtue de l’Uvinertis´e de Cmabrigde, l’odrre des ltteers dans les mtos n’a pas d’ipmrotncae, la suele coshe ipmrotnate est que la pmeir`ere et la dren`eire soit `a la bnnoe pclae. Le rsete peut ˆerte dnas un ds´erorde ttoal et vuos puoevz tujoruos lrie snas porlb`eme. C’est prace que le creaveu hmauin ne lit pas chuaqe ltetre elle-mmˆee, mias le mot cmome un tuot.

     

    느껴지는가? 1번은 고전적인 프로그래밍 방식을 통해 간단하게 해결 가능한 문제이지만, 2번문제는 그렇지 않다. 한 언어를 다른 언어로 번역하는 작업은 기존의 프로그래밍 방법으로는 분명히 한계가 존재한다. 하지만, 프랑스어를 공부한 사람이라면 2번의 문장을 이해할 수 있을 것이다. 그렇다면 사람이 언어를 학습하는 과정을 그대로 컴퓨터가 따라하여 공부한다면, 컴퓨터도 그 언어를 이해할 수 있지 않을까?

     

    인공지능(AI)의 목표는 인간의 사고방식(human mind)를 모방할 수 있는 기계를 만드는 것이다. 이 목표를 달성하기 위해서는 기계들이 다음의 능력을 갖추어야 한다.

     

    1. 학습 능력 (learning capabilities)
    2. 지식 표현 능력 (knowledge representation)
    3. 추론 능력 (reasoning)
    4. 추상적 사고 (abstract thinking)

     

     

    기계 학습 (Machine Learning)

     

    기계학습(ML)은 과거의 경험으로부터 학습할 수 있는 소프트웨어를 만드는 것에만 집중한다. 따라서 기계학습은 데이터 마이닝통계적 분석과 밀접한 관련이 있다. 다음은 기계 학습의 몇가지 정의를 나열해보았다.

     

    기계학습은 컴퓨터에 명시적으로 프로그래밍되지 않고 배울 수 있는 능력을 부여하는 연구 분야이다. (Arthur Samuel, 1959)

     

    어떤 컴퓨터 프로그램이 어떤 과제 ‘T’에 관한 경험 ‘E’와 성능 측정치 ‘P’를 학습하고, P에 의해 측정된 T에 대한 성능이 경험 E와 함께 향상될 경우 이를 학습한다고 한다. (Tom Mitchell, 1998)

     

    기계 학습은 데이터에서 지식을 추출하고, 이전에 관측되지 않은 관찰을 위한 해결책을 찾기 위해 이 지식을 후속적으로 사용하는 것이다.

     

    정리하자면, 비-기계학습 프로그램은 수행할 작업의 특성을 나타내는 매개변수를 완전히 정의한 프로그램이며, 기계학습 프로그램은 수행할 작업의 특성을 나타내는 매개변수를 학습할 수 있는 능력을 가진 프로그램이다.

     

    보드게임 Tic Tac Toe

    예를 들어,  Tic Tac Toe라는 보드게임을 플레이하는 프로그램을 작성한다고 가정해보자. 만약 프로그래머가 승리를 위한 전략을 미리 작성하여 프로그램에 내장시켰다면, 이 프로그램은 비-기계학습 프로그램이다. 그러나, 프로그램이 사전 정의된 전략이 없고 유효한 움직임을 정의하는 일련의 규칙만 가지고 있고, 반복적으로 게임을 함으로써 게임에서 이길 수 있는 전략을 학습한다면, 이 프로그램은 기계학습 프로그램이다.

     

     

    딥러닝 (Deep Learning)

     

    다층 퍼셉트론 모델(MLP) - DNN, FFNN으로도 불려진다.

    사실 딥러닝은 명확하게 정의되어질 수 있는 용어는 아니다. 딥러닝은 기계학습분야의 부분 집합이며, 주로 깊은 층의 인공 신경망을 가진 모델을 주로 사용하는 분야를 통틀어 부르는 말이다. 혹자는 딥러닝과 기계학습을 구분하는 기준으로 1) 데이터의 특징을 사람이 추출하지 않는다. 2) 더 높은 정확도를 가지지만 더 많은 자원이 필요하다. 등을 드는 경우도 있으나, 이는 단지 신경망 모델을 깊게 쌓으므로써 얻어진 결과에 불과한 것들이다. 즉 깊게 쌓은 기계학습 모델에 있어보이는 이름을 붙여준 것이다. 그렇지만 학습 모델의 구조가 깊어지면서 성능이 점점 좋아지고, 특정 분야에서 인간을 뛰어넘는 능력을 보여주며 현재의 인공지능 기술의 눈부신 발전에 불을 붙였다는 점에서 큰 의미를 가진다고 할 수 있다.

     

     

    정리하자면...

    NVIDIA의 인공지능/기계학습/딥러닝에 대한 개념도

    인공지능, 기계학습, 딥러닝은 위 그림과 같이 포함관계에 있는 개념들이다. 

    • 인공지능 : 인간의 사고방식을 모방하는 기계를 구현한다.
    • 기계학습 : 경험으로부터 학습할 수 있는 소프트웨어를 구현한다.
    • 딥러닝 : 깊게 쌓은 기계학습 모델로 특정 분야에서 인간을 뛰어넘은 능력을 구현한다.

    'Deep Learning > Fundamentals' 카테고리의 다른 글

    2. 기계학습의 분류  (0) 2020.02.21
    0. 딥러닝 첫 걸음  (0) 2020.02.04

    댓글

Designed by Tistory.