티스토리 뷰

728x90

[ 읽은 이유 ]


알파고로 시끄럽기 전에 읽었다.
인공지능은 학교 다닐 때도 배웠다. 예전에 대우세탁기에 인공지능을 탑재하였다고 떠들썩하게 광고를 한 적이 있다.

이후 딥러닝이라는 것이 궁금해서, 또한 그 것이 불러올 산업 구조의 변화와 혁신을 설명하여 준다고 해서 집어 들었다

또한 저자가 인공지능 전문가에다 일반 독자를 생각하고 쓴 대중서라 더 끌렸다.
인공지능 자체의 수학적/공학적 구현에 대한 책은 당시에도 있었다.

[ 배운 점 ]

 

인공지능에 대한 전반적인 개념서, 교양서로는 제대로 된 책이라고 본다.
특히 딥러닝이 왜 인공지능 역사에서 굉장히 중요한 진보인가를 제대로 집어 주는 것 같다.

알파고 이후에 여기 저기에서 등장한 국내 수많은 인공 지능 전문가 중 누구도 어떻게 컴퓨터가 고양이와 개를 구분하는지 저자 만큼 설명해 주는 사람도 없었다.

아니면 그 기술에 의미라도 제대로 설명해 주면 좋겠는데 무슨 말을 할지 예측 가능한 수준에서 얘기한다.

하물며 왜 딥러닝인가? 라는 그 의미 자체를 해석해 주는 사람도 못봤다.

깊이와 넓이가 얕다...

심지어 이 책은 알파고가 이세돌을 이기기 전에 출판되었다
필자는 딥러닝을 '인공지능 연구에 있어서 50년의 혁신'이라고 말하고 싶다고 할 정도로 기술의 구현, 의미를 제대로 알려 주고 있다.

왜 노벨상이 계속 일본에서 나올 수 밖에 없는지 알겠다.
우리는 학위가 있는 앵무새가 있는 것이고
일본은 학위도 있는 전문가가 있는 것일 테다..

[ 주요 내용 ]

 

ㅇ 딥 러닝.....특징표현 학습 (representation learning).. 이것은 인공지능의 '큰 비약적 가능성'을 내보이는 것이다.

기본적으로 인공지능은 정해진 길들 안에서 최선의 선택을 내리는 것밖에는 할 수 없고, '학습'이라고 불리는 기술도 모아진 경험(데이터) 안에서 최적의 예측값을 찾아내는 것 뿐이다...예외 상황에 취약하고 범용성이나 적용의 유연성이 부족하다는 점이 단점이다.....예를 들어 '청소를 한다' 또는 '장기를 둔다'라는 것과 같은 특정 영역에서의 인공지능은 인간을 상회하는 것도 있다.

ㅇ 인터넷은 인공지능 기술의 보고....검색 엔진 안에는 '기계학습'이라는 인공지능의 기술이 상당히 많이 사용되고 있다.

ㅇ 서류 작성이나 계산 등 일정한 형식이나 틀로 이루어진 정형적인 업무는 이미 기계로 바뀌어 가고 있다.......미국에서는 회계사나 세무사 등의 수요가 최근 몇 년 사이에 약 8만 명이나 줄었다고 한다.

ㅇ Singularity (기술적 특이점). 인공 지능이 충분히 똑똑해져서 자기 자신보다 더 똑똑한 인공지능을 만들 수 있게 되는 순간, 지능이 무한하게 높은 존재가 출현한다는 것이다.

구글이 고양이를 인식하는 인공지능을 개발했다....자율주행 자동차 뉴스보다 더더욱 '정말로 굉장한' 것이다..

ㅇ 인간의 지적인 활동의 일면을 흉내 내고 있는 기술을 '인공지능'이라고 부른다.

ㅇ 뇌의 기능이나 그 계산의 알고리즘과의 대응을 하나하나 냉정하게 생각해 가다 보면 '인간의 지능은 원리적으로 모두 컴퓨터로 실현될 것이다.'라는 것이 과학적으로 타당한 예상이다. 그리고 인공지능은 본래 그 실현을 목표로 삼고 있는 분야이다.

ㅇ 지적이다. 데이터 속에서 특징을 생성해 현상을 모델화하는 것이 가능한 컴퓨터라는 의미,,,,,처해진 상황에 따르고 어떻게 동작하면 좋을지를 생각하고, 보다 '똑똑하게' 행동을 한다.

ㅇ 레벨1: 단순한 제어 프로그램을 '인공지능'이라고 칭함 (제어)
- 단순 제어 프로그램 탑재 전자 제품. 에어콘, 청소기, 세탁기 등
- 제어공학이나 시스템공학
- 빠짐없이 엄격한 rule로 정해져 있고 그대로 움직임

    레벌2: 고전적인 인공지능 (탐색, 추론 혹은 지식을 사용하는 것)

- 행동의 패턴이 다채로운 경우.....장기 프로그램이나 청소로봇, 질문에 대답하는 인공지능
- 입력과 출력 관계를 맺는 방법이 세련되어 조합수가 극단적으로 많은 경우
- 판단을 내리기 위해 추론/탐색을 하거나, 지식 베이스를 기반으로 판단

   레벌3: 기계학습을 받아들인 인공지능

- 검색엔진에 내장되어 있거나 빅 데이터를 바탕으로 자동적으로 판단
- 추론의 구조나 지식 베이스가 데이터를 바탕으로 학습되는 것으로 전형적인 기계학습 알고리즘을 이용

   -  기계학습: 표본이 되는 데이터를 바탕으로 규칙이나 지식을 스스로 학습하는 것

    - 패턴인식

- 샘플을 주고 '이것은 대', '이것은 중', '이것은 소'라는 rule를 가르치면 이후에는 스스로 '이것은 대이군', '이것은 중이네' '이것은 어디에도 맞지 않네'라고 판별하고 스스로 구분할 수 있게 됨

   레벨4: 딥러닝을 받아들인 인공지능 (특징표현 학습)

- 기계학습을 할 때의 데이터를 나타내기 위해서 사용되는 입력값 (특징이라 부름) 자체를 학습하는 것
- 특징표현 학습 (딥러닝) : 특징을 스스로 발견
- 대, 중, 소에 맞지 않음으로 다르게 취급하는 것이 좋겠다고 판별, '골프 가방에 관한 취급 rule'를 ㅅ스로 만드는 것

레벌3은 학습용 짐 샘플과 짐의 어떤 부분에 주목할지를 가르칠 필요가 있다. 레벨4는 무엇에 주목할지도 스스로 배우므로 학습용 짐 샘플을 주는 것만으로도 ok다. 하지만 그만큼 매우 많은 양의 데이터를 필요로 한다는 단점도 있다. 스스로 작업하는 과정 중에 새로운 특징을 알아차리고 rule은 더욱 진화해 간다.

ㅇ 2000년 대 들어서 웹이 널리 보급되면서 대량의 데이터를 이용한 '기계학습'이 조용히 퍼져 왔다. 그리고 현재 AI 연구는 3번째 붐에 당도했다.


ㅇ 외부 세계와 상호 작용할 수 있는 신체가 없으면 개념은 전부 파악할 수 없다는 것이 신체성이라는 접근법의 사고방식이다.

ㅇ 기계학습이라는 기술, 그 배경에는 문자 식별 등의 패턴 인식 분야에서 오랜 세월 축적되어 온 기반 기술과 증가하는 데이터의 존재가 있었다.

ㅇ 통계적 자연어처리....대역 Corpus라는 두 가지 언어가 양쪽으로 기재된 대량의 텍스트 데이터를 학습하여, 영어로 이러한 단어의 경우는 한국어의 이 단어로 번역되는 확률이 높다.....하고 단순하게 적용시켜 가는 것이다.

학습의 근간을 두는 것은 '분류한다'라는 처리이다. 잘 분류할 수 있으면 사물을 이해할 수도 있고, 판단해서 행동할 수도 있을 것이다. '분류한다'라는 것은 그러한 학습 과정의 가장 기본적인 단계인데, yes냐 no로 대답하는 문제인 것이다.

인간에게 있어서 '인식'이나 '판단'은 기본적으로 YES/NO의 문제라고 파악할 수 있다. 이 YES/NO의 문제의 정밀도, 정답율을 올리는 것이 바로 학습하는 것이다. 기계학습은 컴퓨터가 대량의 데이터를 처리하면서 이 '분류 방법'을 자동적으로 습득한다. 일단 '분류 방법'을 습득하면 그것을 사용해서 기존에 보지 못했던 새로운 입력 데이터를 분류할 수 있다.

ㅇ 기계학습은 크게 지도학습과 비지도학습으로 나눌 수 있다.
지도학습은 입력과 올바른 출력(분류 결과)이 세트가 된 훈련 데이터를 미리 준비하고, 어떤 입력이 주어졌을 때 올바른 출력(분류 결과)이 나오도록 컴퓨터를 학습 시킨다.

비지도학습은 입력용 데이터만 주고 labelling 없이 데이터에 내재되어 있는 구조를 파악하기 위해서 이용할 수 있다. 데이터 속에 있는 일정한 패턴이나 룰을 추출하는 것이 목적이다...... '기저귀와 맥주를 함께 구매하는 경우가 많다'라는 것을 발견하는 것이 빈출 패턴 마이닝 혹은 상관 룰 추출이라고 불리는 처리......비지도 학습은 인간의 라벨링 없이도 데이터의 분포만으로 그 패턴을 인식하는 학습 방법을 말함

ㅇ 가장 그럴 법한 분류 결과를 뽑아내는 것이 바로 결정트리이다.

ㅇ Support Vector Machine (SVM): 데이터를 구분 짓는 구분선과 각 데이터 그룹간의 마진(간격)을 최대로 나누는 방법....

ㅇ 뉴럴 네트워크
- 자극이 일정 임계값을 넘지 못하면 전기 신호가 발화되지 않아 그값이 '0'이 되고, 발화하면 '1'이 되어 정보를 전달하는 방식이 뉴런 사이에서 일어난다.


시그모이드 함수는 on-off를 수학적으로 취급하기 쉽도록 하기 위한 함수...

중요시 되는 것은 가중치 (Weight, 중요성)의 부여로 인간의 뉴런이 학습에 의해 시냅스의 결합 강도를 변화시키듯이 학습하는 과정에서 중요성(가중치)의 부여를 변화시켜 최적인 값을 출력하여 조정하는 것으로 정밀도를 높여 간다.

ㅇ MNIST(엠니스트) : 훈련용 데이터로 0~9까지 숫자를 여러 손글씨 문자로 표현한 손글씨 문자의 인식)라는 데이터 세트


- 기계학습 연구에서는 공통의 데이터 세트를 사용함. 각각의 데이터를 사용하면 좋은 알고리즘이 된 것인지, 우연히 데이터가 좋았던 것인지 모르기 때문임
- 학습하는 방법, 테스트 하는 방법에 대해서도 표준적인 방식이 있음.
- 이미지를 픽셀 단위로 분해해서 신경망에 읽게 한다.
- 만약 틀려서 '8'이라고 판정했을 겨웅 '입력층'과 '은닉층'을 연결하는 부분의 무게 W1, '은닉층'과 '출력층'을 연결하는 부분의 무게 W2의 값을 바꾸어 바른 답이 나오게 조정을 한다.

ㅇ 서로 답하기를 해서 틀릴 때마다 가중치의 조정을 되풀이하고 인식의 정밀도를 올려 가는 대표적인 학습법을 '오류역전파'라고 말함. 이것을 조정하기 위해서는 우선 전체의 오차 (틀릴 확률)가 적어지게 기울기값을 잡는다.

ㅇ 기계학습은 신경망을 만드는 '학습 단계'와 완성된 신경망을 사용해서 정답을 예측하는 '예측 단계'로 나뉜다. 학습 단계는 1,000건 ~ 100만 건 정도의 대량 데이터를 입력하고, 서로 답변 맞춤을 하여 틀릴 때마다 W1과 W2를 적절한 값으로 수정하는 작업을 일괄적으로 되풀이 한다.


특징을 무엇으로 할지가 예측 정밀도에 결정적이다...바꿔 말하면 어떤 변수를 읽게 할지가 예측 정밀도에 크게 기여한다. 기계학습의 정밀도를 올리는 것은 '어떤 특징을 넣을 것인가'에 달려 있는데 그것은 인간이 머리를 사용해서 생각하는 수밖에 없었다. 이것이 '특징 설계'로 기계학습의 최대의 난제 중 하나였다.

ㅇ  기계학습에서 무엇을 특징으로 할지는 인간이 정하지 않으면 안 된다는 점이다. 인간이 특징을 잘 설계하면 기계학습은 잘 움직이고 그렇지 않으면 잘 움직이지 않는다는 말이다......지금까지 인공지능이 실현되지 않은 것은 '세계에서 어느 특징에 주목해서 정보를 꺼내야 할까'에 관해 인간의 손을 빌리지 않으면 안 되었기 때문이다. 즉 컴퓨터가 주어진 데이터로 주목해야 할 특징을 찾고, 그 특징의 정도를 나타내는 '특징'을 얻을 수만 있다면, 기계학습에 있어서의 '특징(feature) 설계' 문제를 해결할 수 있다.


ㅇ 언어철학자 소쉬르는 기회란 개념(Signifie, 시니피에)과 이름(Signifient, 시니피앙)이 표리일체가 되어 결부된 것으로 생각했다. 시니피에(개념)는 기호 내용, 시니피앙(이름)은 기호 표현이라고 말한다.

컴퓨터가 데이터에서 특징을 꺼내고 그것을 사용한 개념(시니피에: 의미되는 것)을 획득한 후에 , 거기에 이름 (시니피앙: 의미하는 것)을 주면 symbol grounding 문제는 처음부터 발생하지 않는다. 그리고 '결정된 상황에서의 지식'을 사용할 뿐만 아니라 상황에 맞추어 목적으로 맞추고 적절한 기호를 컴퓨터 스스로 만들어 내고, 그것을 사용한 지식을 스스로 획득하고 활용할 수 있다. 지금까지 인공지능이 각양각색의 문제에 직면하고 있었던 것은 개념을 스스로 획득할 수 없었기 때문이다.

이제 컴퓨터가 주어진 데이터로 중요한 '특징'을 생성하는 방법을 가능하게 하고 있고, 컴퓨터가 시니피에(개념)을 획득하는 단서가 열리고 있다.  인공지능 50년 간의 브레이크스루인 '딥러닝' (심층학습)


ㅇ 딥러닝은 데이터를 바탕으로 컴퓨터가 스스로 특징을 만들어 낸다. 인간이 특징을 설계하는 것이 아니고 컴퓨터가 스스로 높은 차원인 특징을 획득하고, 그것을 바탕으로 이미지를 분류할 수 있게 된다. 딥러닝으로 인해 지금까지 인간이 관여해야만 했던 영역에 인공지능이 깊게 파고들 수 있게 된 것이다.

필자는 딥러닝을 '인공지능 연구에 있어서 50년의 혁신'이라고 말하고 싶다. 딥 러닝에 대표되는 '특징표현 학습'은 여명기의 혁신적인 발명/발견에 필적할 만한 대발명이다. 컴퓨터가 스스로 특징표현을 만들어 내는 것은 그 자체만으로 큰 비약인 것이다.
....딥러닝은 인공 분야에서 지금까지 풀리지 않은 '특징표현을 컴퓨터 스스로 획득한다'라는 문제에 하나의 답을 제시했다. 즉 커다란 벽에 하나의 구멍을 뚤었다.

ㅇ 딥러닝이 종래의 기계학습과는 다른 점이 크게 두가지..
1) 한 층씩 계층마다 학습해 가는 점
2) 오인코더(autoencoder)라는 '정보압축기'를 사용했다는 점

ㅇ 기계학습에서는 손글씨 3을 보여주면 정답 데이터로서 3을 준다. 그런데 오토인코더에서는 출력과 입력을 같이한다.....'손글씨 3'의 이미지를 입력하오 '이것이 3이다'라고 가르치는 것이 아니고, 손글씨 3의 이미지를 입력하고 정답은 손글시 3의 이미지라고 가르치는 것이다. 통상적으로 생각하면 의미는 없다.....

ㅇ 첫 번째 단의 은닉층은 두 번째 단의 입력(및 정답 데이터)으로 컴퓨터에 학습시키는 것이다. 이를 end-to-end learnig이라고 부른다.
1층째가 784차원의 입력 100차원의 은닉층이었기 때문에 2층의 입력은 은닉층의 수와 같은 100차원의 데이터가 됨....


ㅇ 가장 아래에서 입력한 이미지는 위로 올라가면서 추상도를 증가시켜 높은 차원의 특징이 생성된다. 그리고 '3'이라면 '3'이라는 숫자의 개념에 가깝게 된다. 손글씨 '3'을 읽고 4, 5회 추상화를 되풀이하고 나면 여러 노이즈와 변형에도 강인한 숫자 '3'이 학습되는 것.......일단 전형적인 3의 개념을 잡을 수 있으면 이것은 3이라고 그 개념을 알려 주면 된다. 지도 학습은 대단히 적은 샘플수로 가능해진다.

ㅇ 상관이 있는 것을 한 묶음으로 해서 특징을 꺼내고, 그것을 이용해서 더 높은 차원의 특징을 꺼낸다....즉 데이터 안에서 특징이나 개념을 찾고, 그 덩어리를 사용하고, 더 큰 덩어리를 찾는 것이다.



ㅇ 비지도 학습을 통해 특징을 만들고 마지막에 지도 학습의 결합을 통해 라벨과 연관을 지음으로써 개념이 학습되는 것....결국 지도 학습을 할때 딥 러닝을 해도 별로 의미가 없는 것 같이 생각할지도 모르지만 이 차이는 상당히 크다..

ㅇ 딥러닝의 등장은 적어도 이미지나 음성이라는 분야에서 '데이터를 바탕으로 무엇을 특징표현해야 할까'를 컴퓨터가 자동으로 획득할 수 있다는 가능성을 나타내고 있다. 간단한 특징을 컴퓨터 스스로 찾아내고, 그것을 바탕으로 높은 차원인 특징을 찾아낸다. 그 특징을 사용해서 나타나는 개념을 획득하고, 그 개념을 사용해서 지식을 기술한다는 인공지능의 최대한의 난관에 하나의 길이 제시된 것이다.

특징을 학습하는 능력과 특징을 사용한 모델 획득 능력이 인간보다도 지극히 높은 컴퓨터는 실현 가능하다고 생각한다. 즉, 주어진 예측 문제를 인간보다 더 정확하게 풀 수 있다는 것이다. 그것은 인간이 보기에도 매우 지적으로 느껴질 것..


ㅇ 결국 '특징표현을 어떻게 획득할까?"라는 것이 최대의 관문이었고, 그 산을 넘을 수가 없었다. 그런데 지금, 빅 데이터와 기계학습 사이에 작은 길이 생겼다. 그것이 바로 딥러닝..


ㅇ 개념의 획득 혹은 특징의 획득이 바로 창조성이다.......어떤 것을 '알아차린다'는 것은 창조의 행위다. '아하 체험'이라는 표현을 써도 좋을지 모르겠다.

ㅇ 인간 사회는 현실 세계의 사물 특징이나 개념을 포착하는 작업을 사회 안의 모든 사람들이 커뮤니케이션하면서 공동으로 가고 있다....인간의 뇌 속에서도 예측이라는 목적으로 도움이 되는 뉴런의 한 무리는 남고, 그렇지 않은 것은 사라져 가는 구조가 있는 것은 아닐까??

ㅇ 딥러닝에서 일어나고 있는 현상은 '세계의 특징을 찾아 특징표현을 학습한다'는 것이며, 이것 자체는 예측 능력을 올릴 때 지극히 중요하다......인간 = 지능 + 생명이다....지능을 만들 수 있다고 해도 생명을 만드는 것은 대단히 어렵다.....생명의 이야기를 제외하고 인공지능이 멋대로 의지와 생각을 갖기 시작했다며 걱정하고 두려워하는 것은 우스운 일이다.

ㅇ 인공지능을 생명화하는 방법 - 로봇

- 사물을 인식하고 예측하는 인공지능은 이미 현실화되어 있다.
- '자신을 남기고 싶다', '늘리고 싶다'라는 '욕망'을 내재화
- 로봇은 자신을 재생산할 필요가 있으므로 로봇 공장을 가질 필요가 있다.

ㅇ 인공지능을 생명화하는 방법 - 바이러스

먼저 논의해야 할 것은 '인공지능이 장례에 가져야 할 윤리'가 아니라 '인공지능을 사용하는 인간의 윤리'나 '인공지능을 만드는 사람의 윤리'이다.

ㅇ  인공지능으로 일어나는 변화는 '지능'이라는 환경에서 학습하고, 에측하고, 변화에 추종하는 구조가 인간이나 그 조직과 분리된다는 점이다... 인간에게 부수적으로 포함되어 있었던 학습이나 판단을 세상의 필요한 곳에 분산시켜, 설치하는 것으로 보다 좋은 사회 시스템을 만들 수 있다는 것을 말하는 것이다.


ㅇ 주의해야 할 것은 시간축..


1) 광고, 이미지 진단, 인터넷 기업

- 개인 취미나 기호에 따른 타켓 광고가 일반화..
- X-레이나 CT 등 이미지를 바탕으로 한 진단을 자동으로 내릴 수 있게 됨

2) 개인 로봇, 방법(경비 회사+경찰), 빅 데이터 활용 기업
- 음성이나 감촉 등 muti modal한 인식 정밀도가 극적으로 향상
- 인간 감정을 인식한 커뮤니케이션, 접대 로봇
- 동영상 인식 정밀도 향상 -> 방범 카메라

3) 자동차 제조사, 교통, 물류, 농업
- 로봇의 계획(해동 계획)의 정밀도 향상
- 자율주행 상용화....무인 드론...농업의 자동화....

4) 가사, 의료, 간병, 접수 , 콜센터
- 로봇의 대인 서비스 증가 + 감정을 제어하는 대응

5) 통역, 변역, 글로벌화
- 개념을 획득 -> 개념에 어울리는 언어(기회 표시)를 할당하면서 그 언어를 이해하게 됨

6) 교육, 비서, 사무 지원
- 인간의 언어를 이해하게 되면 인류가 축적해 온 지식을 인공지능에 흡수시킬 수 있음
- 인간의 지적 노동 분야로 확대..
- 지식을 익힌 후 가르쳐 주는 것도 가능

ㅇ 종래의 기계학습은 기존 프로세스의 개량, 개선 수준에 머무르고 있지만 딥러닝에서 인공지능이 특징을 스스로 잡게 되면 새로운 공정을 설계할 수 있게 될지도 모름.....가설 생성과 실험, 즉 연구 개발 프로세스를 인공지능이 담당하게 된다면 탐색 가능한 답의 범위가 상상 이상으로 넓어질지도 모른다.

ㅇ 절차가 쉬운 직업도 사라질 확률이 높다......사람을 직접 상대하는 커뮤니케이션이 필요한 직업은 당장 기계로 바꿔 놓는 것이 어려울 것이다...

ㅇ 사람이 할 수 있는 중요한 것은 크게 두 가지
1) 상당히 대국적이어서 샘플 수가 적은, 어려운 판단을 수반하는 업무로 경영자나 사회의 책임자가 해야 할 일

ㅇ 인공지능의 활용 그 자체가 경쟁에서 결정적 우위에 연결되는 일은 적고, 고객에게 제공하는 상품/서비스의 부가 가치 구조, 조직의 구축, 거래처와의 관계 구축, 사업의 운영 효율화와 같은 요소가 중요한 포인트를 차지하는 것에는 변함이 없을 것

ㅇ 빅 데이터를 통해 기업을 둘러싼 다양한 환경을 파악할 수 있게 되었다. 바로 '눈의 탄생'이다....센서가 발달한 결과, 기업은 다양한 전략을 취할 수 있게 된다.....그 다음에 오는 것의 '뇌의 진화'다.....변화해 가는 환경에 있어서는 추상화 능력이 높으면 적은 샘플수로 적응할 수 있을 뿐 아니라 생존 확률도 오른다.....추상화에 의해 지식을 전이 시킨다는 것이 변화하는 환경에 대응하는 지극히 강력한 무기...

ㅇ 현재 딥러닝에 대표되는 특징표현 학습의 연구는 아직 알고리즘의 개발 경쟁 단계이다. 그런데 이 단계를 넘으면 이번에는 데이터를 대량으로 갖고 있는 곳일수록 유리한 세상이다.....한국은 아마 해외의 데이터를 가지고 있는 기업에 맞설 수 없게 될지도모른다....그 이유는 세계적인 플랫폼 기업이 존재하지 않기 때문이다.

댓글