지난 번 1부에 이어서 2부를 시작하도록 하겠습니다.


그전에 잠깐 복습하면 


인공지능(AI)가 뭔지 기억하시나요?


인간이 인위적으로 만든 생각하고 논리적 근거를 바탕으로 판단하고 이해하는 그 무언가로 정의했습니다.


그리고 머신러닝은 인공지능의 한 분야로 

사람이 이해하는 것을 기계가 이해하도록 하는 알고리즘을 개발 하는 것이라고 했습니다.


위에 2가지만 기억하고 계신다면 성공하신 겁니다.


자 이제 


인공지능을 조금 더 자세히 들여다 보겠습니다.


과연 어디까지 우리는 인공지능이라고 하는 것일까요? 


가장 손쉽게 접할 수 있는게 바로 음성 인식입니다. 


기계가 사람이 하는 말을 이해하고 특정 행동을 하는 것입니다. 

기계가 명령을 듣고 스스로 생각해 특정 피드백을 주기 때문에 인공지능이라고 할 수 있습니다.


얼굴인식은 어떨까요? 

이것도 인공지능입니다. 화면을 보고 눈/코/입 생김새를 근거로 누군지 판단하는 것이죠


다른건 또 뭐가 있을 까요?


자율주행 자동차도 인공지능이겠죠? 

주위 상황을 분석해 가장 안전한 방향/속도로 운행하기 때문입니다.


하지만 그냥 자동차는 인공지능이 아닙니다. 악셀이라는 스위치를 누르면 가속하라는 설정된 값을 출력할 뿐 자동차 스스로가

정보를 이용해 스스로 생각하거나 판단하는게 아니기 때문입니다.


IoT는 어떨까요? 다양한 센서를 통해 온도나 습도등 집 환경을 인식해서 더울 경우 에어컨을 틀어준다거나 건조할 경우 가습기를 켜주는 

작업을 하기때문에 인공지능이라고 할 수 있습니다.


마찬가지로 사용자 패턴을 인식해서 항상 사용자가 원하는 상태로 만들어주는 역할을 하는 것은 모두 인공지능을 사용한다고 할 수 있습니다.


그 밖에도 스스로 장애물을 피해다니는 로봇, 구조 로봇, 아이보 같은 애완로봇도 모두 인공지능을 이용한 제품입니다.




그럼 이러한 인공지능을 가능하게 하는 기술에는 뭐가 있을까요?


음성을 어떻게 인식할까요?

얼굴은 어떻게 인식할까요?

측정한 정보를 어떤식으로 처리해서 출력하는 걸까요?


솔직히 인공지능을 구현하는 것은 전혀 어렵지 않습니다. 


예를 들어 음성인식의 경우 몇개의 단어를 선택해서 본인의 목소리로 녹음합니다.

그런 뒤에 단어별로 녹음된 음성 파장을 코드화 시킵니다. 

모든 음성 파일은 Wave form으로 전환이 가능하고 

여기서 최고값, 최소값, Fourier Transform을 이용한 파장대 분석 등 다양한 방식으로 특성을 수치화 시킬 수 있습니다. 


극단적인 예로는 네 / 아니오 구별은 길이로 하면 되겠죠?


그리고 온도를 측정하고 특정 온도 이상이 되면 에어컨을 켜는 출력을 내는 시스템을 만들면 됩니다.

(덥다라고 생각되는 온도를 미리 입력 시켜둠)


이처럼 아주 단순하고 다양한 일을 하지 못하는 인공지능은 우리가 옛날에도 만들었고 누구나 쉽게 구현 할 수 있습니다.


하지만 왜 최근에 들어서 인공지능이 다시 각광을 받고 있는 걸까요?


그것은 바로 머신러닝의 등장입니다.


머신러닝은 1부에서 아래와 같이 정의를 내렸습니다.


"사람이 이해하는 것을 기계가 이해하도록 하는 알고리즘을 개발 하는 것"


여기서 사람이 이해하는 것은 매우 방대한 정보를 바탕으로 하고 있습니다.

짧게는 수년 많게는 수십년 동안 경험하고 배운 것을 바탕으로 사람은 본인만의 방식으로 이해합니다.


즉 사람이 이해하는 것 들을 기계가 이해하도록 하기 위해서는

어마무시한 데이터를 이용해 기계를 학습시켜야 한다는 것입니다.

데이터가 많기 때문에 다연히 처리속도는 빨라야합니다.


이런 것들은 과거에는 불가능 했습니다.

컴퓨터의 연산 능력 (CPU)이 떨어지고 이미지 처리에 사용되는 GPU 성능이 높지 않았습니다.


하지만 최근 CPU 연산 능력의 경우 과거에 비해 수십배 향상되었고 GPU성능까지 높아지면서 

짧은 시간에 많은 양의 데이터를 분석하고 처리하는게 가능해 졌기 때문에 

머신러닝이 가능해진 것 입니다. 


이 때문에 머신러닝의 도움으로 다시 인공지능이 떠오르는 것입니다.


3부에서 자세히 설명하겠지만


머신러닝은 간단히 말해 인공지능 성능을 급격하게 향상 시켜주는 하나의 기술입니다.


그래서 최근의 인공지능은 대부분 머신러닝 기술을 사용하고 

이 때문에 인공지능과 머신러닝을 같은 의미로 오해 하기도 합니다.


머신러닝의 직접적인 예 두 가지만 들고 2부를 마치겠습니다. 


1) 넷플릭스(Netflix)


다들 영상 스트리밍 서비스인 넷플릭스는 아실 겁니다. 그런데 넷플릭스로 머신러닝을 사용하는 거는 알고 계셨나요?


넷플릭스 네트워크에 있는 영화/드라마/비디오 자료는 총 10억개가 넘습니다. 

그리고 수백만명의 사람들이 사용하고 있죠 

넷플릭스는 이러한 수백만의 사람들이 즐겨보는 영상을 실시간으로 분석하고 10억개가 넘는 자료에서 사용자의 취향에 맞는 

영상을 추천해 줍니다. 이러한 방대한 데이터를 처리하려면 머신러닝을 사용할 수 밖에 없습니다.


2) 알파고


너무 유명하죠? 사실 알파고를 통해서 인공지능이 세상에 더 알려진 것 같습니다. 모든 경우의 수를 분석해서 최고의 바둑을 

두는 인공지능입니다. 머신러닝 기반으로 만들어졌습니다. 사실 바둑에 있어 경우의 수는 무자비하게 많기 때문에 이 모든 것을

처리하려면 머신러닝을 사용해야합니다.






즉 많은 양의 데이터를 이용해 기계를 학습시키는 것이 바로 머신러닝입니다.


다시 정리해서 정의를 내리면 


머신러닝이란?


"사람이 이해하는 것을 방대한 양의 데이터를 이용해 기계가 이해하도록 하는 알고리즘을 개발 하는 것" 이라고 할 수 있습니다.



이러한 머신러닝의 기술과 종류는 매우 많습니다.

3강 부터는 이제 머신러닝에 대해 하나씩 알아보도록 하겠습니다.


감사합니다.




+ Recent posts