[태그:] 특별연재

  • (특별연재) 인공지능 자동번역은 휴먼번역을 대체할 수 있나요?

    (특별연재) 인공지능 자동번역은 휴먼번역을 대체할 수 있나요?

     

     

    2016년 9월 Google에서 신경망 번역기(Neural MT) Google Translate을 발표한 이후, 많은 사람들이 궁금해하는 질문입니다. 누구도 명확하게 답을 내놓기 어려울 것입니다. NMT의 결과물을 바라보는 시각에 따라 의견이 엇갈립니다.

    기계 학습 기술의 고도화, 데이터 수집과 처리 기술의 발전, 혁신적인 아이디어 등이 계속 이뤄질 것이기 때문에 현재 시점에서 예상하는 것보다 빠르게 NMT가 휴먼번역의 영역을 침범할 것은 분명해 보입니다.

    그러므로, NMT를 이해하려고 노력해야 하며, 장점이 무엇이고 또한 단점은 무엇인지, NMT의 발전과 더불어 번역 시장엔 어떤 변화가 있을 것인지 예의 주시해야 합니다. 무엇보다도 번역사 또는 번역 업계에서는 NMT를 적극적으로 수용해야 합니다.

    NMT 등장과 휴먼번역의 미래에 대해 여러 컨퍼런스와 대학 특강에서 발표했던 내용을 간추려 아래와 같이 슬라이드를 준비했습니다.

     

    Smart Translation with Technologies

     

    핵심 요약

    • NMT 등장으로 기계 번역 품질이 혁신적으로 개선되었으며, 상당 부분 휴먼번역을 능가하는 결과물을 보여주고 있다.
    • 언어의 무한한 변형과 복합적인 문맥을 (아직은) AI가 완벽하게 처리할 수는 없으나, NMT에 적합하게 통일된 용어, 스타일, 문맥을 바탕으로 작성된 글은 휴먼번역의 노력을 상당히 줄일 수 있다.
    • NMT가 어떻게 언어를 번역하는지 기본적인 개념을 이해하고, 치명적인 문제점도 있음을 알아야 한다.
    • NMT가 완전히 휴먼번역을 대체할 수 없는 이유가 무엇인지 인지하되, 번역사는 NMT를 생산성 도구로 받아들이고 NMT를 활용하기 위해 필요한 스킬을 학습해야 한다.

    -마치며-

     

     

     

     

     

     

     

    Click here > WiseTranslate.net ▼

     

    WiseTranslate

     

     

  • (특별연재) 인공지능 자동번역은 언어를 사람처럼 이해하는 건가요? _ 2

    (특별연재) 인공지능 자동번역은 언어를 사람처럼 이해하는 건가요? _ 2

     

    자동 번역의 혁신, 알파고 딥러닝, 스스로 학습하는 기계

    앞서 살펴본 것과 같이 변화무쌍한 언어 규칙을 찾거나 최적화된 통계 모델을 찾기 위한 컴퓨터 알고리즘을 만드는 작업은 수많은 언어공학박사들이 있어야 하고 어마어마한 노력이 필요합니다. 만약 학습데이터만 입력해주면 컴퓨터 “스스로” 번역하는 방법을 찾을 수 있다면 획기적이겠죠? 그렇습니다. 최신 자동 번역 기술은 알파고를 만들었던 인공지능 딥러닝 시스템으로 컴퓨터 스스로 학습데이터를 분석해서 번역하는 방법을 찾아냅니다.

    한 가지 흥미로운 사실은 이 기술의 선구자가 바로 한국인입니다. 조경훈 씨가 2014년에 발표한 논문에서 딥러닝 기법을 이용하여 획기적인 돌파구를 만들었습니다. 이 시스템은 병렬 코퍼스(원문과 번역문 쌍으로 된 학습데이터)를 이용해서 사람의 개입 없이 두 언어 간 번역하는 방법을 스스로 학습하도록 하였습니다.

    Recurrent Neural Network(순환신경명, 약자로 RNN)과 Encoding(인코딩)이라는 두 가지 컨셉을 영리하게 조합함으로써 스스로 학습하는 번역 시스템이 탄생하게 되었습니다.

     

     

    RNN (Recurrent Neural Network, 순환신경망)이 뭔가요?

    General Neural Network (기본신경망)

    일반적인 신경망 구조의 딥러닝은 일련의 숫자를 입력 데이터로 받아서 결과를 도출하는 기계 학습 알고리즘입니다. 신경망 딥러닝은 블랙박스 방식(개발자는 틀만 만들어 둔 것이며, 실제 어떤 내용이 들어가게 될지 모름)으로 다양한 문제에 대한 해법을 제시할 수 있습니다. 예를 들어, 렌터카 업체에서 지난 몇 년간 예약 데이터를 학습시켜서 미래 특정 날짜에 얼마나 많은 손님이 예약할지 예측해 볼 수 있습니다.

     

     

     

    Recurrent Neural Network (RNN)

    RNN은 기본신경망의 변형된 형태로 이전 결과값을 다시 Input으로 사용해서 다음 결과값을 얻습니다. 즉, 이전 결과값이 다음 결과값에 영향을 미치게 됩니다.

     

     

    RNN은 데이터 시퀀스 패턴을 학습하는 것인데요. 시간 흐름이나 연속된 값의 패턴을 찾는데 용이합니다. 렌터카 예약 예측 모델에서 환경 변수가 아니라 이어지는 추세 패턴이 더 적절한 것이라면 RNN 방식이 더 정확한 결과를 도출할 수 있습니다.

    RNN은 다음에 나올 값을 예측하는 것이므로, 예를 들어, 문장의 첫 단어를 제시하면 다음에 어떤 단어가 나오는 것이 가장 확률이 높은지 예측하는 모델을 만들 수 있습니다. 셰익스피어 문집을 몽땅 RNN으로 학습시켜 만든 신경망 모델에 아무 단어나 하나를 넣으면 셰익스피어 문체를 닮은 문장이 자동으로 만들어집니다.

    RNN을 이용하면 번역, 챗봇, 주가 예측 등 시퀀스 기반의 다양한 모델을 만들 수 있습니다. 예를 들어, RNN으로 사인(sine) 파동을 수학 모델 없이 정확하게 그릴(예측) 수 있습니다.

     

     

     

    Encoding(인코딩)

    인코딩은 쉽게 말해서 컴퓨터가 이해할 수 있는 값으로 변환하는 것을 의미합니다. 예를 들어, 사람 얼굴을 컴퓨터가 비교하려면 얼굴의 특성값을 수집해야 합니다. 미간의 넓이, 눈 크기, 눈썹 길이 등의 값을 측정하고 두 얼굴에서 이런 특성값을 비교합니다. 이와 같이 얼굴 사진을 특성값으로 변환하는 과정을 인코딩이라고 할 수 있습니다.

    딥러닝에서는 어떤 특성값을 찾아야 하는지 별도로 지정할 필요가 없습니다. 신경망을 이용하면 얼굴 사진 비교를 위한 특성값을 자동으로 추출할 수 있습니다.

     

     

    바로 이 과정이 인코딩입니다. 위 그림은 얼굴 사진을 128개의 특성값으로 인코딩한 것입니다. 사진마다 이렇게 128개 숫자로 인코딩하면, 숫자의 유사성을 비교해서 “같은 사람일 확률 92%” 이런 식으로 결과를 얻을 수 있죠.

    대충 감을 잡으셨겠지만, 언어 문장도 같은 방식으로 변환할 수 있습니다. 아래 그림과 같이 모든 문장을 각각 고유한 숫자 값으로 인코딩할 수 있습니다.

     

     

    RNN 모델에 한 번에 한 단어씩 넣어주고, 마지막 단어까지 처리되면 최종적으로 문장의 인코딩을 값을 얻을 수 있습니다.

     

    이런 방식으로 모든 문장을 숫자로 표현할 수 있게 되었습니다. 이들 숫자가 무엇을 의미하는지는 중요하지 않습니다. 문장을 고유한 값으로 식별하는 방법이 생긴 것입니다.

     

     

    RNN으로 번역하기

    RNN을 이용해서 문장을 고유한 값으로 인코딩하는 방법까지 알아봤습니다. 그렇다면, RNN을 두개 장착해서 첫 번째 RNN은 문장을 숫자로 인코딩하고, 두 번째 RNN은 다시 인코딩된 숫자를 문장으로 되돌려(디코딩) 놓을 수 있지 않을까요? 혁신적인 아이디어는 바로 이것입니다.

     

     

    물론, 원문으로 다시 되돌려 놓는 게 무슨 의미가 있겠습니까. 만약, 두 번째 RNN에서 문장을 영어 원문이 아닌 스페인어로 디코딩하도록 학습시킨다면? 확보해둔 병렬 코퍼스(원문과 번역문 쌍으로 된 학습데이터)를 이용해서 이 과정을 학습시킬 수 있습니다.

     

     

    바로 이것입니다. 영어 단어가 나열된 문장을 스페인어 문장으로 변환시킬 수 있는 모델이 탄생했습니다.

     

    획기적인 시스템인 이유:

    • 학습데이터와 컴퓨터 파워만 있으면 번역기를 만들 수 있음. 이 방식이 탄생한 지는 겨우 3년밖에 되지 않았으나 20년 넘게 개발했던 기존 번역기보다 월등한 성능을 보여주고 있음
    • 언어 규칙 알고리즘이 필요하지 않음. 딥러닝 신경망이 스스로 규칙을 찾아냄. 즉, 수많은 언어공학자가 필요하지 않음
    • 언어마다 다른 개발이 필요하지 않으며, 학습데이터만 충분히 준비하면 됨

     

    특별 연재 마지막 편에서는 “인공지능 자동번역이 휴먼번역을 대체할 수 있을 것인지”에 대해 얘기해 보겠습니다.

    -다음 특별편 이어서-

     

     

     

     

     

     

     

    Click here > WiseTranslate.net ▼

     

    WiseTranslate

     

     

  • (특별연재) 인공지능 자동번역은 언어를 사람처럼 이해하는 건가요? _ 1

    (특별연재) 인공지능 자동번역은 언어를 사람처럼 이해하는 건가요? _ 1

     

    이미 많은 분이 Google Translate파파고와 같은 번역기를 사용해 보았을 겁니다. 100여 개가 넘는 언어를 순식간에 번역할 수 있죠. 웹에서뿐만 아니라 스마트워치와 같은 모바일 기기에서도 손쉽게 사용할 수 있습니다. Google Translate에 사용된 기술을 Machine Translation(기계 번역 또는 자동 번역)이라고 부릅니다. 자동 번역기 덕분에 우리는 세계 여러 나라 사람들과 언어 소통의 장벽을 손쉽게 극복할 수 있게 되었습니다.

     

     

    초등학생도 다 알고 있는 Google Translate를 소개하려는 것은 아니고요. Machine Translation이 어떻게 언어를 이해하고 동작하는지 여러분과 살펴보려고 합니다.

    불과 몇 년 사이에 Machine Translation 기술이 비약적인 발전을 이루었습니다. 2016년 9월 Google은 Deep Learning 방식으로 개발한 완전히 새로운 자동 번역기를 발표하고, Google 블로그에 아래와 같은 글을 올렸습니다.

    Google’s AI translation system is approaching human-level accuracy (인간 번역 수준에 근접한 Google의 인공지능 번역기)

     

    위 그래프에서 “PBMT”는 예전 방식의 자동번역이고, “GNMT”가 새롭게 발표한 자동번역 기술입니다. 바로 이날을 기점으로 자동 번역 기술의 역사는 새롭게 시작됩니다. 흔히, 번역이 맘에 들지 않을 때 “Google 번역 같아요”라고 핀잔을 주곤 했었죠. 이젠 그렇게 말할 수 없습니다.  현재 Google 번역 수준을 한 번 보겠습니다.

     

    어떤가요? 거의 완벽하지 않나요? 2016년 9월 이전에는 “Google 번역 같아요”가 핀잔이었지만 지금은 칭찬이 될 수도 있습니다. 이러한 혁신적인 자동 번역은 어떻게 만들어졌을까요? 바로 이 궁금증에 대해 알아보겠습니다.

     

    자동 번역 기술의 시작

    컴퓨터가 어떻게 언어를 번역하는 걸까요? 가장 간단한 방식은 문장의 각 단어를 번역할 언어로 치환하는 것입니다. 영어를 한국어로 단어 단위로 순서대로 번역하면 이렇게 되겠죠.

     

    관사와 전치사는 지면 관계상 하나로 묶었습니다. 이렇게 번역하기 위해선 단어 사전만 있으면 되니 무척 간단합니다. 그러나, 언어 문법과 어순이 완전히 무시되어 번역이 엉망입니다.

    해당 언어의 규칙을 알고리즘으로 만들어 적용하면 더 나은 결과를 만들 수 있습니다. 예를 들어, 우리말 어순에 맞게 동사를 맨 뒤로 이동시키면 이런 모습이 되겠네요.

    이제 여기에 조사를 추가하고 문법과 각종 구문을 언어 규칙으로 만들어서 추가하면 어떤 문장이라도 번역할 수 있겠죠? 이런 방식을 “규칙 기반 자동 번역(Rule-based MT)”이라고 합니다.

    이런 식으로 컴퓨터 자동 번역기를 만들었던 것이 최초의 방식이었습니다. 언어 공학 박사들이 복잡한 규칙을 만들고 그러한 규칙을 프로그램으로 하나씩 코딩했었죠. 냉전 시기에 소련의 통신을 엿듣고 번역하려고 세계적인 언어 공학자들이 수년간 번역 시스템을 만들기도 했습니다.

    그러나, 이 방식은 초등학교 교과서 같이 쉽고 간단한 문장만 번역할 수 있었고 정작 일상에서 필요한 문서들은 제대로 번역하지 못했습니다.

    그렇습니다. 우리가 사용하는 언어는 정형화된 규칙을 항상 따르지는 않죠. 언어는 수많은 예외가 있고, 지역과 문화에 따라 변화무쌍하게 달라집니다. 시대에 세대에 따라 규칙은 계속 바뀝니다.

     

     

    더 나은 번역, 통계적으로 접근

    규칙 기반 자동 번역 시스템의 실패 후 시작된 새로운 시도는 문법 대신 확률과 통계 기반 모델을 만드는 것이었습니다.

    통계 기반 번역 시스템을 구축하려면 엄청난 양의 학습 데이터가 필요하며, 학습 데이터는 언어쌍으로 있어야 합니다. 이러한 언어 쌍 데이터를 전문 용어로 “병렬 코퍼스(parallel corpora)”라고 합니다. 17세기에 이집트 상형문자를 판독하기 위해 과학자들이 로제타스톤을 사용했던 것처럼 병렬 코퍼스를 사용해서 언어 번역을 어떻게 해야 할지 컴퓨터 프로그램으로 추론할 수 있습니다.

    학습 데이터를 구하는 것이 관건인데, 유럽의회로부터 21개 언어로 된 번역 데이터를 손쉽게 구할 수 있었습니다. 유럽의뢰는 모든 의사 진행 자료를 21개 언어로 번역해서 보관하고 있었습니다. 이 자료는 누구나 접근할 수 있습니다.

     

     

    확률적 접근법

    통계 기반 번역 시스템의 가장 근본적인 차이는 한 가지 동일한 번역을 도출하지 않고 수천 가지 가능한 번역을 만든 다음 각각 정확도 순위를 매깁니다. 정확도 순위는 학습 데이터와 비교한 근사치를 기준으로 판단합니다. 어떻게 동작하는 것인지 좀 더 자세히 살펴보겠습니다.

     

    1 단계: 문장을 작은 단위로 쪼개기

    쉽게 번역할 수 있는 작은 단위로 쪼갭니다.

     

    2 단계: 조각별로 적용할 수 있는 모든 번역 찾기

    조각별로 학습 데이터를 뒤져서 기존 번역을 모두 찾습니다. 사전을 찾는 것이 아니라 실제 사람이 번역했던 데이터를 찾는 것입니다. 즉, 각기 다른 문맥에 사용되었던 다양한 표현을 가져올 수 있죠.

    여러 표현 중 학습 데이터에 사용되었던 빈도가 높은 순으로 순위를 매깁니다.

     

    3 단계: 조합 가능한 모든 번역을 나열하고 가장 근접한 번역 찾기

    이번에는 각 조각을 모아서 조합 가능한 모든 번역을 만듭니다. 위 2단계에 나열한 번역을 모두 조합해 보면 672가지 번역을 만들 수 있죠. 어순, 조사, 어미 등 문법적 요소까지 정리된 것을 전제로 몇 가지 나열해 보겠습니다.

     

    나는 / 6시에 / 약속을 / 갖고 있다

    나는 / 6시에 / 약속이 / 있다

    나는 / 6시에 / 약속을 / 소유한다

    나는 / 6시에 / 약속을 / 먹다

     

    이렇게 나열한 뒤에는 가장 “인간다운” 번역을 찾아야 하는데, 이를 위해 각 조합 문장을 다시 책이나 뉴스 기사 등 학습 데이터에 실제 사용되었던 수백만 개의 문장과 비교해서 가장 유사한 (높은 확률) 형태를 보이는 조합을 찾습니다.

     

     

    통계 기반 자동 번역, 새로운 지평 그러나 한계점 드러남

    학습 데이터가 충분하다면 통계 기반 번역 시스템은 규칙 기반보다 훨씬 뛰어난 결과를 보여줍니다. 2000년 초반 Google Translate의 탄생 배경이기도 하며, 자동 번역 시스템이 비로소 대중에게 많이 알려지게 되었습니다.

    자동 번역 품질이 분명히 향상되었으나 개발과 유지가 매우 복잡하고 힘들었습니다. 새로운 언어쌍을 개발할 때마다 언어전문가가 필요했고 여러 단계를 거쳐야 하는 번역 프로세스를 계속 뜯어고쳐야 했습니다.

    이러한 복잡성으로 인해 편법(?)이 자행됩니다. 예를 들어, 조지아어(Georgian)에서 텔루구어(Telugu)로 번역해야 한다면, 내부적으로 영어(English)로 먼저 번역한 후 영어에서 텔루구어로 번역하는 방식을 선택할 수밖에 없습니다. 왜냐하면 조지아어에서 텔루그어로 번역된 학습 데이터를 충분히 확보하기 어렵고, 이 둘 언어의 언어 공학 연구도 쉽지 않기 때문입니다.

    언어학 박사 공학 박사 없이 컴퓨터가 이런 복잡성을 모두 해결해 줄 수 있다면 어떨까요?
    다음 편에 이 내용을 살펴보겠습니다.

    -이어서-

     

     

     

     

     

     

     

    Click here > WiseTranslate.net ▼

     

    WiseTranslate

     

     

  • (특별연재) 인공지능, 머신러닝, 딥러닝 어떻게 다른 건가요? _ 2

    (특별연재) 인공지능, 머신러닝, 딥러닝 어떻게 다른 건가요? _ 2

     

    Deep Learning에 대한 이해

    최근에 AI 또는 Machine Learning (기계 학습)을 얘기하는 곳은 대부분 Deep Learning에 기반을 두고 있다고 보면 된다.  Deep Learning은 과거 정체되었던 기술적인 난제들을 비약적으로 발전시키거나 해결해 나가고 있다.

    예를 들어, 자동번역기는 이미 쌍방 언어를 구조적으로 분석해서 맞춰 보려고 했던 Rule-based 방식으로부터 시작했으나 언어의 다양성을 결국 풀지 못했고, 이후 기존에 사람이 번역한 데이터를 잔뜩 쌓아서 통계적으로 접근했던 것이 나름의 성과를 얻었지만 한계가 있었는데, 2016년 하반기에 Google이 Deep Learning 방식으로 개발한 Neural MT (신경망 자동번역기)는 불과 2년의 연구결과로 지난 수십년간 도달하지 못한 혁신적인 결과물을 보여주고 있다.

    알파고는 더 이상 얘기할 필요 없겠고…

    Deep Learning은 어떤 기술인지에 대해 기본적인 이해를 돕고자 한다. 아무리 쉽게 설명하려 해도 기술적인 용어들이 많아서 쉽진 않네요.

     

    differences_of_ai_machine_learning_deep_learning_2 1

     

    위에 보이는 그림은 대학 입시에서 내신(Grade)와 수능(Test) 성적의 분포에서 실제 합격된 학생은 녹색이고 붉은색은 불합격인 경우, 이를 구분할 수 있는 두 선을 표현한 것입니다. 이 두선을 그어놓으면 학생의 내신이 얼마이고 수능이 얼마인지를 대입하면 합격인지 불합격일지 예측이 가능하겠죠.

    가장 간단한 원리로 말하자면 바로 이 선을 찾는 것이 Machine Learning이라고 보면 됩니다.

    사람은 위 도표를 보고 적당한 위치에 선을 그을 수 있겠지만 컴퓨터는 어떻게 찾을까요?

    좀더 간단한 예를 보겠습니다. 아래 차트에 분포된 붉은 점을 가장 잘 표현한 선을 긋는다면 파란색 선이 되겠지요. 즉, 이 선은 수학적으로 y=mx+b 입니다. Linear Regression(선형 회귀)이라는 이 공식은 그런대로 익숙하죠…

    differences_of_ai_machine_learning_deep_learning_2 2

    이 선을 긋기 위해서 찾아야 할 값은 m과 b인거죠.  m은 선의 기울기이고 b는 Y 좌표의 시작 위치가 될 것입니다. 이 값을 찾기 위해서 어떤 과정을 거치는지 간략히 보겠습니다.

    1. 일단, 아무렇게나 선을 긋습니다.
    2. 그런 다음, 이 선과 각 점들이 얼마나 떨어져 있는지 값을 구합니다.
    3. 그리고, 좀더 이 점들과 가까워질 수 있는 값을 적용하고
    4. 다시 선을 긋고
    5. 각 점들과 오차를 다시 계산하고
    6. 새로운 값을 적용하고… 다시 긋고.. 오차를 계산하고…

    differences_of_ai_machine_learning_deep_learning_2 3differences_of_ai_machine_learning_deep_learning_2 4differences_of_ai_machine_learning_deep_learning_2 5

     

     

     

     

     

     

     

     

     

     

    이 과정을 반복해서 오차값이 가장 작은 지점에 올 때까지 반복하는 거죠.

    여기서 몇 가지 수학적인 설명을 안 할 수가 없네요.
    우선, 오차값을 찾아야 할텐데요. 오차값은 일반적으로 이렇게 구합니다.

    differences_of_ai_machine_learning_deep_learning_2 6

    모든 점들과 현재 그어진 선의 거리를 제곱해서 전체 점의 개수를 나누어 평균 오차값을 구하는 공식입니다.

    그런 다음, 오차를 줄일 수 있는 값으로 조정한다고 했는데, 이를 위해 오차값을 미분하여 Gradient (기울기)를 구합니다.  Gradient를 구하는 수식은 이렇습니다.

    differences_of_ai_machine_learning_deep_learning_2 7

    Gradient는 어느 방향으로 현재 선을 조정할 것인지를 찾아 주는 것이라고 생각하면 됩니다. 오차값이 줄어드는 방향을 찾아주는 알고리즘을 Gradient Descent라고 부르며, Machine Learning / Deep Learning 알고리즘의 가장 핵심이라고 보면 됩니다.

    가장 기초적인 Linear Regression을 통해서 Machine Learning이 어떻게 답을 찾아가는지 보았습니다. X, Y와 같이 간단한 2차원의 데이터가 있으면 이 데이터를 가지고 합격과 불합격을 구분하기 위한 구분선을 찾거나(Classification), X가 주어졌을 때 Y 값이 무엇일지 제시하는(Linear) 모델을 만들 수가 있겠지요.

    문제는, 세상의 문제들은 단순히 2차원적인 데이터로만 풀 수 없습니다. 예를 들어, 사진이나 이미지를 인식하는 프로그램에서 이미지 크기가 24x24x3 픽셀이라면 1,728개의 Feature(속성/특징)가 있는 것이죠. 언어를 포함한 분야에서는 이러한 Feature가 수백만개에 달하기도 합니다.

     

    더 이상 수학적인 얘기는 빼고… 개념만 좀더 설명드리자면…

    이러한 수많은 Features를 Neural Network에 연결하고, 최종 결과값을 찾아가는 과정을 표현한 그림은 이렇습니다.

    differences_of_ai_machine_learning_deep_learning_2 8

     

    그런데, 이건 가장 기본이 되는 Neural Network이고요 Neural Network 모델도 ConvNet(CNN), RNN 등으로 더욱 복잡해집니다.

     

    ConvNet (CNN)

    differences_of_ai_machine_learning_deep_learning_2 9

     

    RNN

    differences_of_ai_machine_learning_deep_learning_2 10

     

    각각의 Neural Network 모델은 적용 분야가 다른데, ConvNet은 이미지 인식에 많이 사용되며, RNN은 언어 처리에 많이 사용됩니다.  특히, RNN은 시간 스텝을 갖는 시퀀스 데이터를 이용해서 이전 문맥을 포함한(‘기억’) 결과를 도출할 수 있기 때문에 금융 분야에서도 이 모델을 주로 사용합니다.

     

     

    Deep Learning은 모든 문제의 해결책인가?

    Deep Learning은 많은 문제를 해결해 줄 수 있을 것입니다.  중요한 것은 Deep Learning 기술 자체가 아니라 ‘데이터’입니다. 즉, Deep Learning 기술을 갖고 있다는 것이 문제의 해답을 갖고 있다고 잘못 이해하면 안됩니다.

    Deep Learning은 ‘기술’입니다. 이걸로 무엇을 할 것인가가 중요하겠지요.  동일한 Deep Learning 기술로 네이버 파파고와 Google 자동번역기가 만들어졌으나, 둘의 성능은 차이가 있습니다. Google이 월등히 앞섭니다. 그 이유는 기술이 차이라기 보다는 ‘데이터’의 차이입니다.

    즉, 양질의 데이터를 얼마나 ‘많이’ 갖고 학습하였는지에 따라 결과물이 달라지는 겁니다.

    우선 데이터의 퀄리티가 좋아야하고, 여러가지 변형을 모두 학습시킬 수 있는 충분한 양의 데이터가 필요합니다. ‘충분한’ 양이 얼마인지는 각각의 모델에 따라 다르겠지만 일단 엄청 많아야 한다는 것만 이해하십시오.

    -다음 특별편 이어서-

     

     

     

     

     

     

    ※오늘의 한 줄 EVENT※

    어떤 문장이든 댓글로 남겨주세요. 무료로 영어 / 일어 1줄 번역을 바로바로 해 드립니다!
    여러분들의 창의력 퐁퐁 댓글 기다릴게요~

     

     

     

    Click here > WiseTranslate.net ▼

     

    WiseTranslate

     

     

  • (특별연재) 인공지능, 머신러닝, 딥러닝 어떻게 다른 건가요? _ 1

    (특별연재) 인공지능, 머신러닝, 딥러닝 어떻게 다른 건가요? _ 1

     

    AI의 역사

    Dartmouth Conference (1956)에서 “학습의 모든 과정 또는 지능의 특징을 정확하게 파악하여 기계가 이를 시뮬레이션할 수 있다”라는 선언을 필두로 1950년대부터 시작된 AI 연구는 70년대까지 많은 관심과 지원 속에 어마어마한 투자가 이뤄졌으나 70년대 중반부터 AI에 대한 회의론이 대두되고 지나친 기대감 대비 미미한 발전 속도로 정부 및 투자 기관으로부터 펀딩이 중단되기에 이른다.  이 시기에 AI가 안고 있던 문제 중 하나는 컴퓨팅 파워 부족이고 다른 하나는 제한된 데이터였다.

    Ross Quillian의 자연어 처리에 대한 최초의 성공 사례는 겨우 20 단어만 가지고 데모를 했는데 당시 메모리 용량이 이것 밖엔 안되었던 거죠. 유명한 AI 과학자 중 한명인 Hans Moravec은 76년도에 컴퓨터 파워에 대한 문제를 인식했지만 당시 그는 인간과 같은 속도로 동작을 인식하고 사물을 구분하기 위해서는 초당 109의 연산속도(1,000 MIPS)가 필요할 것이라고 예측했는데, 최근 사용되고 있는 실시간 영상/이미지 판독 프로그램에서는 최소 10,000 MIPS 이상 연산 속도가 필요합니다. 70년 중반 당시 가장 빠른 슈퍼컴인 Cray-1은 고작 80~130 MIPS였으니 Moravec이 얘기한 1,000 MIPS도 당시에는 꿈 같은 얘기였겠지요.  참고로, 최신 CPU Intel Core i7 6950X는 317,900 MIPS.

    가라앉았던 AI 연구가 80년대 들어서 일본 정부가 거대한 자금을 투입하여 5세대 컴퓨터 프로젝트를 시작하면서 AI 연구가 다시 활황을 보이는 듯 했으나 역시 지나친 기대감과 하드웨어적 이슈로 10년 만에 막을 내림.

    93년부터 AI는 ‘조용한’ 발전을 거듭합니다. 컴퓨팅 속도가 빨라짐에 따른 성공도 있고, 적용 분야를 세분화하여 전문화된 영역으로 접근함에 따른 성공도 있었음. 97년에 IBM의 Deep Blue가 체스 챔피언을 이겼고, 2005년 Stanford 로봇의 131마일 사막 자율주행, 2007년 CMU의 55마일 시내 자율주행, 2011년 IBM Watson의 Jeopardy 퀴즈쇼 우승 등으로 비약적인 발전을 거듭했다. 2년마다 컴퓨터의 속도와 메모리 용량이 두 배로 증가한다는 무어의 법칙으로 보듯이 Deep Blue는 체스를 처음 학습시켰던 1951년 Mark 1에 비해 무려 1천만배나 속도가 빨라진 것이다.

    AI 알고리즘으로 다양한 문제를 해결할 수 있다는 점에 착안하여 AI는 점차 다양한 영역으로 패러다임을 바꿔서 적용되기 시작한다.  데이터 마이닝, 산업용 로봇, 음성 인식, 질병 진단, 검색 엔진 등에서 AI 기술이 널리 사용되고 있으나, AI라는 이름으로 불리진 못하고 있으며 그렇게 불려지고 싶어하지 않는다. AI는 ‘General Purpose’ 즉 특정 분야가 아닌 사람과 같이 모든 상황에 대응할 수 있는 인공지능을 의미하지만 여전히 요원해 보이며, 최근 AI 연구는 세분화된 영역에서 각자 발전되고 있는 상황이다.

    21세기 들어서면서 빅데이터에 손쉽게 접근할 수 있고, 비약적인 컴퓨팅 파워의 발전과 진화된 Machine Learning 기법으로 다양한 산업 분야에 적용되고 있으며, AI의 본질적인 목표에 빠르게 접근해 가고 있다.

     

     

    AI, Machine Learning, Deep Learning의 차이?

    differences_of_ai_machine_learning_deep_learning_1 1

    AI가 가장 폭넓은 개념이라고 보면 되고, 그 안에 Machine Learning이 주요 기법으로 적용된다. Machine Learning 방식에도 다양한 모델이 개발되어 있는데 크게 Supervised와 Unsupervised 방식이 있다. Machine Learning은 Decision Tree, Clustering, SVM, K Nearest, Linear Regression 등 다양한 기법을 사용하고 수많은 데이터를 ‘학습’시킨 후 새로운 문제에 대한 답을 찾을 수 있는 모델을 개발하는 것이다.

    Deep Learning은 Machine Learning의 한 기법이며 최근 가장 주목 받는 기술로 Machine Learning의 방향은 모두 Deep Learning 방식으로 모여지고 있다.  Deep Learning은 인간의 뇌가 수많은 뉴런으로 연결되어 있는 것과 같이 수많은 논리적인 노드(뉴런)를 여러 층의 레이어로 쌓아서 학습 과정을 통해 각 뉴런이 특정 정보를 저장하게 된다.

    Deep Learning과 기존 Machine Learning 기술의 차이는 아래 그래프에 보는 것과 같이 데이터 양이 많으면 많을수록 더욱 정교한 결과를 만들어 냅니다.

     

    differences_of_ai_machine_learning_deep_learning_1 2

    Deep Learning 기술은 불과 몇 년 밖에 되지 않았으나 이미 알파고와 같은 여러 적용 사례를 통해서 Machine Learning의 어마어마한 잠재력을 보여주고 있다. 알파고, Google과 네이버의 자동번역기 등이 Deep Learning 방식으로 개발된 것이다.

    Deep Learning의 출현으로 앞으로 AI의 미래가 다시 밝아지고 있다.

    -이어서-

     

     

     

     

     

     

    ※오늘의 한 줄 EVENT※

    어떤 문장이든 댓글로 남겨주세요. 무료로 영어 / 일어 1줄 번역을 바로바로 해 드립니다!
    여러분들의 창의력 퐁퐁 댓글 기다릴게요~

     

     

     

    Click here > WiseTranslate.net ▼

     

    WiseTranslate