반응형
파이썬을 이용한 머신러닝, 딥러닝 실전 개발 입문 - 웹 크롤링과 스크레이핑부터 머신러닝.딥러닝까지 체계적으로 배우기

파이썬을 이용한 머신러닝, 딥러닝 실전 개발 입문
국내도서
저자 : 쿠지라 히코우즈쿠에 / 윤인성역
출판 : 위키북스 2017.06.15
상세보기


머신러닝의 바탕이 되는 데이터를 수집하고, 수집된 데이터를 기반으로 머신러닝을 수행하는 방법을 설명한다. 인터넷에서 데이터를 어떻게 효율적으로 수집하는지 알아보고, 머신러닝을 원활하게 할 수 있게끔 데이터를 가공하는 방법을 살펴보며 더 나아가 가공된 데이터를 이용해 챗봇 제작, 규동 메뉴 이미지 판정, 얼굴 인식 등 머신러닝에 활용하는 과정까지 실질적인 파이썬 예제 코드로 소개하고 있다. 활용할 데이터만 가지고 있다면 자신이 원하는 것을 만들어낼 수 있다.

역자 동영상 강의


[목   차]

▣ 00장: 머신러닝을 위한 데이터 처리
0-1. 크롤링, 스크레이핑, 머신러닝
___인터넷의 빅데이터
___스크레이핑, 크롤링, 데이터 가공
___머신러닝에 사용할 수 있는 데이터의 구조

▣ 01장: 크롤링과 스크레이핑
1-1. 데이터 다운로드하기
___웹상의 정보를 추출하는 방법
___urllib.request를 이용한 다운로드
___웹에서 데이터 추출하기
___BeautifulSoup로 스크레이핑하기
1-2. BeautifulSoup로 스크레이핑하기
___네이버 금융에서 환율 정보 추출하기
___웹 브라우저로 HTML 구조 확인하기
1-3. CSS 선택자
___위키 문헌에 공개돼 있는 윤동주 작가의 작품 목록 가져오기 
___CSS 선택자 자세히 알아보기
___CSS 선택자로 추출 연습하기
___정규 표현식과 함께 조합하기
1-4. 링크에 있는 것을 한꺼번에 내려받기
___한꺼번에 다운받는 데 필요한 처리 내용
___상대 경로를 전개하는 방법
___재귀적으로 HTML 페이지를 처리하는 방법

▣ 02장: 고급 스크레이핑
2-1. 로그인이 필요한 사이트에서 다운받기
___HTTP 통신
___requests 사용해보기
2-2. 웹 브라우저를 이용한 스크레이핑
___웹 브라우저 원격 조작에 사용하는 Selenium
___웹 사이트를 이미지로 캡처해보기
___네이버에 로그인해서 구매한 물건 목록 가져오기
___Selenium으로 스크레이핑하는 방법
___자바스크립트 실행해보기
2-3. 웹 API로 데이터 추출하기
___웹 API
___웹 API를 제공하는 이유
___웹 API 사용해보기 - OpenWeatherMap의 날씨 정보 
___국내에서 사용할 수 있는 웹 API
2-4. cron을 이용한 정기적인 크롤링
___정기적인 크롤링
___매일 환율 정보 저장하기
___cron으로 매일 한 번 실행하기
___crontab 설정 방법

▣ 03장: 데이터 소스의 서식과 가공
3-1. 웹의 다양한 데이터 형식
___텍스트 데이터와 바이너리 데이터
___XML 분석
___JSON 분석
___YAML 분석
___CSV/TSV 분석
___엑셀 파일 분석
3-2. 데이터베이스
___데이터베이스
___데이터 저장에는 어떤 데이터베이스를 사용해야 할까?
___SQLite - 가볍게 파일 하나로 사용할 수 있는 데이터베이스
___MySQL 사용하기
___TinyDB 사용하기

▣ 04장: 머신러닝
4-1. 머신러닝이란?
___머신러닝 개요
___머신러닝의 종류
___머신러닝의 흐름
___머신러닝의 응용 분야
___초과 학습(초과 적합)
4-2. 머신러닝 첫걸음
___머신러닝 프레임워크 scikit-learn
___XOR 연산 학습해보기
___붓꽃의 품종 분류하기
4-3. 이미지 내부의 문자 인식
___손글씨 숫자 인식하기
___이미지 데이터 학습시키기
4-4. 외국어 문장 판별하기
___외국어 판정
___판정 방법
___샘플 데이터 수집
___언어 판별 프로그램
___웹 인터페이스 추가하기
4-5. 서포트 벡터 머신(SVM)
___SVM이란?
___SVM을 실제로 사용해보기
___SVM의 종류
4-6. 랜덤 포레스트
___랜덤 포레스트란?
___랜덤 포레스트 사용하기
4-7. 데이터를 검증하는 방법
___크로스 밸리데이션
___그리드 서치

▣ 05장: 딥러닝
5-1. 딥러닝 개요
___딥러닝
5-2. TensorFlow 설치하기
___TensorFlow
___설치 방법
___설치가 제대로 됐는지 확인하기
___TensorFlow로 간단한 계산해보기
5-3. Jupyter Notebook
___Jupyter Notebook 설치하고 실행하기
___새 노트 만들기
___데이터 시각화
___TensorFlow와 함께 사용하기
5-4. TensorFlow 기본
___TensorFlow 기본
___머신러닝 해보기
5-5. TensorBoard로 시각화하기
___TensorBoard의 사용법
5-6. TensorBoard로 딥러닝하기
___딥러닝의 구조
___딥러닝 해보기 - MNIST 손글씨 데이터
5-7. Keras로 다양한 딥러닝 해보기
___Keras
___Keras 설치
___Keras로 MNIST 테스트해보기
___Keras로 비만도 판정해보기
5-8. Pandas/NumPy 다루기
___Pandas/NumPy
___데이터 조작
___Pandas/Numpy 정리

▣ 06장: 텍스트 분석과 챗봇 만들기
6-1. 한국어 분석(형태소 분석)
___형태소 분석
___한국어 형태소 분석 라이브러리
___출현 빈도 분석
6-2. Word2Vec으로 문장을 벡터로 변환하기
___Word2Vec
___Gensim 설치
___Gensim의 Word2Vec으로 "토지"를 읽어보기
___위키피디아 한국어 버전을 사전으로 사용해보기
___위키피디아 데이터로 놀아보기
6-3. 베이즈 정리로 텍스트 분류하기
___텍스트 분류
___베이즈 정리
___나이브 베이즈 분류
___베이지안 필터 사용해보기
6-4. MLP로 텍스트 분류하기
___MLP로 텍스트 분류하기
6-5. 문장의 유사도를 N-gram으로 분석하기
___문장의 유사도 분석
___레벤슈타인 거리
___파이썬으로 레벤슈타인 거리를 계산하는 프로그램
___N-gram으로 유사도 구하기
6-6. 마르코프 체인과 LSTM으로 문장 생성하기
___마르코프 체인과 LSTM/RNN
___마르코프 체인이란?
___마르코프 체인 구현하기
___LSTM/RNN
6-7. 챗봇 만들기
___챗봇(회화 봇)
___챗봇의 구조

▣ 07장: 이미지와 딥러닝
7-1. 유사 이미지 검출하기
___간단한 형태 인식 - Average Hash
7-2. CNN으로 Caltech 101의 이미지 분류하기
___CNN으로 색상 있는 이미지 분류해보기
7-3. 규동 메뉴 이미지 판정하기
___규동을 판정할 수 있는 PC가 좋은 PC
___스크레이핑부터 시작하기
7-4. OpenCV로 얼굴 인식하기
___OpenCV
___얼굴을 인식하는 프로그램 만들어보기
___얼굴에 모자이크 걸기
7-5. 이미지 OCR - 연속된 문자 인식하기
___OpenCV로 텍스트 영역 확인하기
___문자 인식 데이터 만들기
___다양한 숫자 폰트 학습 시키기

▣ 부록: 개발 환경 구축
부록-1. Docker로 개발 환경 구축하기
___Docker란?
___Docker 설치
___윈도우 10 이하에서 Docker Toolbox 설치하기
___macOS에서 Docker for Mac 설치하기
부록-2. 파이썬 + Anaconda 환경 준비
___파이썬 + Anaconda 이미지 다운로드


...



반응형
반응형

How to Make a Chatbot - Intro to Deep Learning #12



Code + Challenge for this video:
https://github.com/llSourcell/How_to_...

Nemanja's Winning Code:
https://github.com/Nemzy/language-tra...

Vishal's Runner up code:
https://github.com/erilyth/DeepLearni...

Web app to run the code yourself:
https://ethancaballero.pythonanywhere...

Please subscribe! And like. And comment. That's what keeps me going. 

More Learning resources:
https://www.youtube.com/watch?v=FCtpH...
https://www.youtube.com/watch?v=Qf0Bq...
https://yerevann.github.io/2016/02/05...
https://www.youtube.com/watch?v=2A5DK...
http://www.wildml.com/2016/01/attenti...
https://github.com/domluna/memn2n




...

반응형
반응형

Awesome-Korean-NLP


Github https://github.com/datanada/Awesome-Korean-NLP


참고 : http://konlpy.org/en/v0.4.4/



A curated list of Natural Language Processing (NLP) of

  • NLP of Korean Text
  • NLP information written in Korean.

Feel free to contribute! or blab it here

Maintainer: Jaemin Cho

Index

  1. Tools
  2. Dataset
  3. Blogs / Slides / Researchers
  4. Papers
  5. Lectures
  6. Journals / Conferences / Institutes / Events
  7. Online Communities
  8. How to contribute

1. Tools

(Korean-specific tools are listed ahead of language-agnostic tools.)

1.1. Morpheme/형태소 분석기 + Part of Speech(PoS)/품사 Tagger

  • Hannanum (한나눔) (Java, C) [link]
    • KoNLPy (Python) [link]
  • Kkma (꼬꼬마) (Java) [link] [paper]
    • KoNLPy (Python) [link]
  • Komoran (Java) [link]
    • KoNLPy (Python) [link]
  • Mecab-ko (C++) [link]
    • KoNLPy (Python) [link]
  • Twitter (Scala, Java) [link]
    • KoNLPy (Python) [link]
    • .NET, Node.js, Python, Ruby, Elasitc Search bindings
  • dparser (REST API) [link]
  • UTagger [link]
  • Arirang (Lucence, Java) [link]
  • Rouzeta [link] [slide] [video]
  • seunjeon (Scala, Java) [link]
  • RHINO (라이노) [link]
  • KTS [paper]
  • 깜짝새 [link]

1.2. Named Entity(NE) Tagger / 개체명 인식기

1.3. Spell Checker / 맞춤법 검사기

  • PNU Spell Checker [link]
  • Naver Spell Checker [link]
  • Daum Spell Checker [link]
  • hunspell-ko [link]

1.4. Syntax Parser / 구문 분석기

  • dparser (REST API) [link]
  • NLP HUB (Java) [link]

1.5. Sentimental Analysis / 감정 분석기

1.6. Translator / 번역기

1.7. Packages

1.8. Others / 기타

  • Hangulpy (Python) [link]
    • 자동 조사/접미사 첨부, 자모 분해 및 결합
  • Hangulize (Python) [link]
    • 외래어 한글 변환
  • Hanja (Python) [link]
    • 한자 한글 변환
  • kroman [link]
  • hangul (Perl) [link]
    • Hangul Romanization
  • textrankr (Python) [link] [demo]
    • TextRank 기반 한국어 문서 요약
  • 한국어 Word2Vec [demo] [paper]
    • 한국어 Word2Vec의 analogy test 데모
  • 나쁜 단어 사전 [link]
    • crowdsourced dic about badword in korean

2. Dataset

  • Sejong Corpus [link]
  • KAIST Corpus [link]
  • Yonsei Univ. Corpus
  • Korea Univ. Corpus
  • Ulsan Univ. Corpus [link]
  • Wikipedia Dump [link] [Extractor]
  • NamuWiki Dump [link] [Extractor]
  • Naver News Archive [link]
  • Chosun Archive [link]
  • Naver sentiment movie corpus [link]
  • sci-news-sum-kr-50 [link]

3. Blogs / Slides / Researchers

3.1. Blogs

  • dsindex's blog [link]
  • 엑사젠, "혼자 힘으로 한국어 챗봇 개발하기" [link]
  • Beomsu Kim, "word2vec 관련 이론 정리" [link]
  • CPUU, "Google 자연어 처리 오픈소스 SyntaxNet 공개" (Korean tranlsation of Google blog) [link]
  • theeluwin, "python-crfsuite를 사용해서 한국어 자동 띄어쓰기를 학습해보자" [link]
  • Jaesoo Lim, "한국어 형태소 분석기 동향" [link]

3.2. Slides

  • Lucy Park, "한국어와 NLTK, Gensim의 만남" (PyCon APAC 2015) [link]
  • Jeongkyu Shin, "Building AI Chat bot using Python 3 & TensorFlow" (PyCon APAC 2016) [link]
  • Changki Lee, "RNN & NLP Application" (Kangwon Univ. Machine Learning course) [link]
  • Kyunghoon Kim, "뉴스를 재미있게 만드는 방법; 뉴스잼" (PyCon APAC 2016) [link]
  • Hongjoo Lee, "Python 으로 19대 국회 뽀개기" (PyCon APAC 2016) [link]
  • Kyumin Choi,"word2vec이 추천시스템을 만났을 때" (PyCon APAC 2015) [link]
  • 進藤裕之 (translated by Hongbae Kim), "딥러닝을 이용한 자연어처리의 연구동향" [link]
  • Hongbae Kim, "머신러닝의 자연어 처리기술(I)" [link]
  • Changki Lee, "자연어처리를 위한 기계학습 소개" [link]
  • Taeil Kim, Daeneung Son, "기계 번역 모델 기반 질의 교정 시스템" (Naver DEVIEW 2015) [link]

4. Papers

4.1. Korean

  • 김동준, 이연수, 장정선, 임해창, 고려대학교, (주)엔씨소프트, "한국어 대화 화행 분류를 위한 어휘 자질의 임베딩(2015년 동계학술발표회 논문집)" [paper] link dead

4.2. English

5. Lectures

5.1. Korean Lectures

  • Kangwon Univ. 자연언어처리 [link]
  • 데이터 사이언스 스쿨 [link]
  • SNU Data Mining / Business Analytics [link]

5.2. English Lectures

  • Stanford CS224n: Natural Language Processing [link] [YouTube]
  • Stanford CS224d: Deep Learning for Natural Language Processing [link] [YouTube]
  • NLTK with Python 3 for NLP (by Sentdex) [YouTube]
  • LDA Topic Models [link]

6. Conferences / Institutes / Events

6.1. Conferences

  • 한글 및 한국어 정보처리 학술대회 [link]
  • KIPS (한국정보처리학회) [link]
  • 한국음성학회 학술대회 [link]

6.2. Institutes

  • 언어공학연구회 [link]
    • 한글 및 한국어 정보처리 학술대회 (Since 1989, 매년 개최) [link]
    • 국어 정보 처리 시스템 경진대회 (Since 2010, 매년 개최, 주최: 문화체육관광부 및 국립국어원) [link]
    • 자연언어처리 튜토리얼 (비정기적) [link]
    • 자연어처리 및 정보검색 워크샵 [link]
  • 한국음성학회 [link]

6.3. Events / Contests

  • 국어 정보 처리 시스템 경진 대회 [link]

7. Online Communities

  • Tensorflow KR (Facebook Group) [link]
  • AI Korea (Facebook Group) [link]
  • Bot Group (Facebook Group) [link]
  • 바벨피쉬 (Facebook Group) [link]
  • Reddit Machine Learning Top posts [link]

8. How to contribute

  1. Fork this Repository, by clicking on "fork" icon at the top right corner.

  2. Get the link for the forked repo, by clicking on the green button on your page. something like, "https://github.com/[username]/Awesome-Korean-NLP.git"

  3. On your local machine, "git clone https://github.com/[username]/Awesome-Korean-NLP.git"

  4. "cd Awesome-Korean-NLP"

  5. open "README.md" with your favorite text editor.

  6. Edit.

  7. git commit -a -m "added section 8: emoticons"

  8. git push, and verify on your fork

  9. goto https://github.com/datanada/Awesome-Korean-NLP and create pull request.

  10. "compare across forks" with base: datanada/Awesome.. and head: [username]/Awesome..

[beginners guide]





.........

반응형
반응형

챗봇 시작해보기   https://www.slideshare.net/ssusercf5d12/ss-69518853


Python 으로 Slackbot 개발하기   https://www.slideshare.net/ssusercf5d12/python-slackbot


20170227 파이썬으로 챗봇_만들기     https://www.slideshare.net/KimSungdong1/20170227-72644192


머신러닝의 자연어 처리기술(I)    https://www.slideshare.net/ssuser06e0c5/i-64267027


인공지능, 기계학습 그리고 딥러닝  https://www.slideshare.net/JinwonLee9/ss-70446412  


[F2]자연어처리를 위한 기계학습 소개   https://www.slideshare.net/deview/f2-14341235





.

반응형
반응형

모두를 위한 딥러닝 - Deep Reinforcement Learning



1. 강좌 소개

본 Reinforcement Learning(강화학습) 강좌는 홍콩과학기술대학교의 김성훈 교수님의 ‘모두를 위한 딥러닝’ 시리즈의 두번째 강좌입니다. 앞선 강좌로  기본적인 머신러닝과 딥러닝 강좌 가 있습니다.

일주일에 한강좌씩 천천이 업데이트 예정입니다.

알파고와 이세돌의 경기를 보면서 이제 머신 러닝이 인간이 잘 한다고 여겨진 직관과 의사 결정능력에서도 충분한 데이타가 있으면 어느정도 또는 우리보다 더 잘할수도 있다는 생각을 많이 하게 되었습니다. Andrew Ng 교수님이 말씀하신것 처럼 이런 시대에 머신 러닝을 잘 이해하고 잘 다룰수 있다면 그야말로 “Super Power”를 가지게 되는 것이 아닌가 생각합니다.

더 많은 분들이 머신 러닝과 딥러닝에 대해 더 이해하고 본인들의 문제를 이 멋진 도구를 이용해서 풀수 있게 하기위해 비디오 강의를 준비하였습니다. 더 나아가 이론에만 그치지 않고 최근 구글이 공개한 머신러닝을 위한 오픈소스인 TensorFlow를 이용해서 이론을 구현해 볼수 있도록 하였습니다.

이 머신러닝, 딥러닝 강좌는 수학이나 컴퓨터 공학적인 지식이 없이도 쉽게 볼수 있도록 만들려고 노력하였습니다.

2. 도움되는 분들

  • 인공지능에 대해 관심이 있는 누구나
  • 머닝러신, 딥러닝의 개념을 이해하고 싶으신분
  • 머닝러신의 직접 구현해보고 싶으신 분
  • 앞선 기본적인 머신러닝과 딥러닝 강좌 를 학습하신 분
  • 강화학습에 대해 관심이 있는 분

3. 참고자료

이 비디오는 저도 인터넷등을 통해 공부하면서 만든것이며 아래 자료를 많이 사용하였습니다.

4. 지식공유자 소개

김성훈

Hong Kong University of Science and Technology 에서 컴퓨터 공학쪽으로 연구를 하고 있습니다.
비디오나 강의에 대한 의견이 있으시면 아래로 이메일을 보내 주시면 됩니다.
hunkim+ml@gmail.com


반응형
반응형

텐서플로  https://www.tensorflow.org/

 

구글(Google)사에서 개발한 기계 학습(machine learning) 엔진. 검색, 음성 인식, 번역 등의 구글 앱에 사용되는 기계 학습용 엔진으로, 2015년에 공개 소스 소프트웨어(open source software)로 전환되었다.

 

 텐서플로는 C++ 언어로 작성되었고, 파이선(Python) 응용 프로그래밍 인터페이스(API)를 제공한다.

 

텐서플로는 빠르고 유연하여 한 대의 스마트 폰에서도 운영될 수 있고, 데이터센터의 수천 대 컴퓨터에서도 동작될 수 있다.

 

Google : https://googleblog.blogspot.kr/2015/11/tensorflow-smarter-machine-learning-for.html

 

Github : https://github.com/tensorflow/tensorflow

 

 

FB Sight에 오신것을 환영합니다 (Terms of Service)!  : http://fbsight.com/c/TF-KR

 

 

About TensorFlow

 

TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API. TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google's Machine Intelligence research organization for the purposes of conducting machine learning and deep neural networks research, but the system is general enough to be applicable in a wide variety of other domains as well.

 

 

 

.

반응형
반응형

인공지능 알파고와 세기의 대결로 역사가 되다


지난 3월 이세돌 9단과 인공지능 알파고가 벌인 바둑 대국은 한국뿐 아니라 전 세계의 이목을 집중시켰다. 모두 5회의 대국 결과 인공지능의 승리로 끝났지만 끝까지 포기하지 않은 이세돌 9단에게 사람들은 격려와 찬사를 보냈다. 주요 서점에서는 ‘이세돌’이란 고유명사가 제목에 들어간 책들이 불티나게 팔리는 현상도 벌어졌다. 



전라남도 신안군 비금도에서 태어난 이세돌 9단은 여섯 살 때 처음 바둑을 접했다. 아마 5단의 실력자였던 아버지는 아들의 천재성을 알아보고 프로기사의 길로 이끌었다. 아홉 살 때 서울에 올라온 그는 권갑용 사범의 문하에서 본격적으로 바둑을 배웠고 열세 살 때 프로기사로 입단했다. 처음부터 두각을 나타낸 건 아니었다. 10대 후반이 된 2000년부터 제대로 성적이 나기 시작했다. 그해 1월부터 5월까지 무려 32연승을 거두며 제5기 박카스배에서 우승했고 최우수 기사상을 받았다. 2002년에는 제15회 후지쓰배에서 우승하며 세계 타이틀 소유자가 되었다. 2003년 LG배 결승에서 이창호 9단을 이기고 우승한 뒤 10여 년간 국내외 대회를 휩쓸며 정상의 자리를 지켰다. 2010년 광저우 아시안게임에서 바둑 국가대표로 발탁되어 금메달을 목에 걸었다. 2012년 5월까지 27개월 연속 한국 바둑 랭킹 1위를 달리던 그는 그해 6월 박정환 9단에게 1위 자리를 내주고 현재 2위에 올라 있다. 


“오랫동안 바둑을 뒀는데, 1700여 판 중 500판 이상 패배했을 거예요. 승부의 결과도 중요하지만 어떻게 바둑을 잘 두었느냐가 더 중요해요. 저는 바둑을 스포츠가 아닌 예술로 배웠어요. 바둑은 기본적으로 둘이 하나의 예술 작품을 만드는 거예요. 상대방을 먼저 배려해야 좋은 작품을 만들 수 있죠.” 


바둑 용어 가운데 복기라는 말이 있다. 같은 실수를 반복하지 않기 위해 대국이 끝나고 여러 변화에 대해 검토하는 과정으로 주로 잘못 둔 수가 무엇인지 찾는다. 이 9단은 가장 열심히, 가장 오랜 시간 복기를 하는 프로기사로 알려져 있다. 아버지에게 처음 바둑을 배울 때부터 몸에 익은 습관이다. 승패와 관계없이 그는 머릿속에 바둑판을 그려놓고 복기를 반복한다.


“대국이 끝난 뒤 바둑 기사들은 자기가 어디서 잘못 뒀는지, 상대가 어디서 잘 뒀고 못 뒀는지 분석합니다. 저는 복기가 승패보다 중요하다고 생각합니다. 시험 보고 나서 틀린 문제를 왜 틀렸는지 잘 이해하고 정리해두면 다음에 비슷한 문제가 나오면 맞히는 것처럼요.”


http://www.seri.org/ic/icDBRV.html?s_menu=0608&pubkey=ic20161125001&menu_gbn=9&menucd=0601

반응형
반응형
바둑적/인공지능적 관점에서 분석한 알파고 1,2국

 

http://t-robotics.blogspot.kr/2016/03/12.html#.VuJRGPmLSCo

 

 

알파고가 시사하는 인류 사회의 미래

 

인간이 모든 부분에서 우월하던 시기가 있었다. 하지만 증기기관을 시작으로 '힘'에서 기계가 인간을 압도하는 시기가 왔고, 이후엔 인간의 우월함은 힘이 아닌 '지능'으로 믿어져왔다. 하지만 계산기의 발명 이후 더이상 '계산'이란 부분은 인간의 장점이 아니게 되었으며, 결국 인간의 장점은 계산이 아닌 '모호함 속에 지식을 찾아내는 능력' 또는 '창의성'이 아닌가 싶었다.

 

하지만 이 마저도 정복당할 위기에 처했다. 머신러닝의 발달로 인해서 말이다. 모호함 속에서 지식을 추출하는 일을 머신러닝이 결국 해냈고, 나아가 알파고의 승리가 시사하는 바는, 이러한 패턴인식이 기존의 논리적 인공지능 방식과 결합할 수 있다는 점이었다. 멀게만 보였던 '논리(연산)'와 '경험(데이터)'이 처음으로 성공적인 합체를 이루는 순간이다.

 

그럼 정말 모든 분야가 정복된 것일까? 그것은 아니다. 바둑은 세상에서 가장 복잡한 "보드게임"일 뿐, 세상인 이보다 훨씬 모호한 일들이 많다. 아직까지는 인간의 우위이다. 하지만 그 차이는 점점, 아주 빠르게 좁혀지고 있다.

 

결국 미래엔 '인공지능 위의 인간'과 '인공지능 아래의 인간'으로 나눠지는 시대가 올 것이다.

 

지금보다 많은 영역이 자동화 기기로 대체될 것이며, 오직 인공지능 위의 인간만이 엄청난 임금을 받는 일이 발생할 것이다. 노동을 할 수 있다는 것은 일부만 노릴 수 있는 특권이 될 것이며, 미래사회는 '대부분이 고용되는 세상'을 벗어나 '대부분이 실업자인 세상'을 맞이해야 할 것이다. 기존엔 사회적 혁명이 민중의 피로 빚어졌겠지만 이젠 아니다. 테크놀로지의 역습은 이보다 더 큰 막을 수 없는 사회적 광풍을 몰고 올 것이다.

 

첨언하자면, 늘 주장하지만 인간이 우월함을 가지는 분야는 어쩌면 지능이 아닐지도 모른다. 인간의 지능은 저렴한 CPU, GPU 들의 연산 능력과 고도로 발달된 알고리즘에 의해 정복당할 위기에 처해있다. 물론 당장은 아니지만 내 살아 생전에는 꼭 일어날 것이라고 확신한다. (오래 살아야지...) 결국 머리를 써서 노동할 수 있는 인간은 극소수일 것이며, 드디어 기계과 인간의 힘과 지능을 모두 압도하는 제 2의 기계시대가 오는 것이다.

 

그렇다면 인간의 우월함은 어디에 있을까? 필자는 바로 "움직임"에 있다고 생각한다.

DARPA Robotic Challenge에 나온 어리숙한 동작의 휴머노이드 로봇들을 본 사람들이라면 아마 동의할 것이다. 인간의 장점은 어쩌면 머리에 있지 않고 우리의 몸에 있다. 사람의 뇌는 엄청 많은 CPU와 GPU가 대체할 수 있을지 몰라도 사람 몸 속의 수많은 근육들과 이들의 협응은 아직 베일에 쌓여있다. 따라서 유연한 움직임을 결합한 지능이 인간의 우월점이 될 것이란 것이다. "인간처럼 사물을 인식하는 인공지능을 만들 수 있나요?"에 대한 정답은 가까워보이지만 "인간처럼 움직일 수 있는 로봇을 만들 수 있나요?"라는 답은 아직도 갈 길이 요원해 보인다.

 

물론 이것도 언젠간 정복될 것이다. 하지만 그것이 정복되기 전까지 인공지능이 대부분의 일자리를 뺏어간 상황에서 "몸을 쓰는 직업"들은 여전히 존재할 것이며, 인공지능 이후엔 "움직임"을 정복하려는 기술적 도전이 있을 것이다.

 

 

반응형

+ Recent posts