목록Computing Tech. Diary/Artificial Intelligence (45)
Douglas' Space

2019년 7월 15일, 맨체스터 과학산업박물관의 한 행사에서 영국중앙은행총재가 영국의 50파운드 새지폐에 인쇄될 인물을 소개하였습니다. 그 인물은 바로 앨런튜링(Alan Turing)이라는 컴퓨터과학자였습니다. 최고의 컴퓨터과학자에게 시상하는 컴퓨팅분야의 노벨상, 튜링어워드의 바로 그 튜링이라는 인물이었습니다. 지폐에 새겨진 사진은 튜링의 39세 때의 사진으로 알려져 있습니다. 스티븐호킹, 대처영국수상과 같은 인물도 후보에 있었다고 하는데, 왜 컴퓨터 분야의 사람들만 알고 있는 튜링이라는 컴퓨터과학자가 선정이 되었을 까요? 지폐에 새겨진 앨런튜링과 관련된 다른 사진과 숫자, 문자들에 그 답이 있지 않나 생각합니다. 튜링 뒤에 새겨진 그림은 컴퓨터와 비슷한 장치들처럼 보입니다. 이 장치들이 튜링이 설계한..

지난번 소개한 음성인식은 특정한 개인에 종속되지 않고 사람이 발성하는 언어를 이해하여 텍스트로 변환하는 기술입니다. 화자인식기술은 특정 개인이 발성한 음성을 인식하여 그 화자가 누구인가를 알아내는 기술입니다. 다시 말해 음성정보를 입력하는 것은 동일하지만 그 출력 결과는 발화한 내용을 출력하는 것이 음성인식이고, 발화한 사람이 누구인지를 식별하는 것이 화자인식입니다. 따라서 인식하고자 하는개별적인 화자들의 음성 특징이 필요할 것이라는 것을 쉽게 짐작할 수 있을 것입니다. 아래 그림은 음성인식과 화자인식의 차이점을 설명하고 있습니다. 또한 화자인식의 수준 또는 기능을 화자식별(speaker identification)과 화자검증(speaker verification)으로 나눌 수 있습니다. 화자식별은 등록..

딥러닝 기반의 인공지능이 다루는 데이타는 텍스트, 그래픽, 이미지, 동영상, 오디오 등이 있습니다. 이를 멀티미디어 데이타라고 합니다. 지금까지 주로 텍스트, 그래픽, 이미지 및 동영상과 관련된 기술에 대해 설명드렸습니다. 이번 시간부터는 오디오와 관련된 음성처리기술에 대해 정리해 보고자 합니다. 특히 사람과의 대화가 가능하도록 하는 음성인식 및 합성 기술에 대해 살펴보도록 하겠습니다. 음성인식은 사람이 말하는 음성을 텍스트로 변환하는 기술이라고 할 수 있습니다. 따라서 이를 기술적으로는 Speech-To-Text(STT)라고 부릅니다. 반대로 음성합성은 텍스트를 음성으로 변환하는 기술로 Text-To-Speech(TTS)라고 할 수 있습니다. 음성인식을 위해서는 먼저 사람의 음성이 아날로그이기 때문에 ..

초기에 machine learning의 방법중 unsupervised learning을 설명하면서 차원축소(dimensionality reduction)에 대한 이야기를 한 적이 있습니다. 그리고 얼마전 metric learning, word embedding, transformer 등을 이야기하면서 latent vector, embedding vector 등을 언급한 적이 있습니다. 사실 이 모두가 차원축소의 개념에 포함된다고 이야기할 수 있습니다. 차원축소는 인공지능 분야에서 사용하는 중요한 방법 또는 도구의 하나라고 할 수 있습니다. 차원축소를 단어적으로 쉽게 이해할 수 있는 것은 고차원을 저차원으로 축소한다는 것입니다. 우리가 인지할 수 있는 공간의 개념에서 설명하면, 3차원의 데이타를 2차원의 ..

AI나 컴퓨터와 관련해서 새로운 용어들이 계속 등장합니다. 그리고 요즘 세계적인 리서치회사에서 새로운 기술들의 개념을 쉽게 이해하도록 신조어들을 만들어 냅니다. 그래서 많은 사람들이 왜 이렇게 모르는 용어가 많으냐고 불평하기도 하는데, 아이가 태어나면 이름이 붙여주듯이 어떤 기술 및 개념에 이름을 붙인다고 이해하시면 좋겠습니다. 이렇게 이름을 붙이는 것도 추상화(abstaction)의 한 기법이 아닐까 생각합니다. Federated learning이란 새로운 모델을 의미하는 것이 아니라 학습을 하는 형태를 구분하는 용어라고 이해하시면 될 것 같습니다. federared learning은 다수의 분산된 edge device 또는 서버들이 각각에 저장된 데이타를 활용하여 스스로 local model을 학습을..

객체를 분류하거나 단어를 분류하거나, 또는 객체를 인식하거나 얼굴을 인식하거나 하는 많은 딥러닝 모델은 입력되는 객체들의 유사성과 차이점을 구분하는 능력이 필요합니다. 인공지능 분야에서 이러한 객체들 간의 유사성과 차이점을 거리(distance)라는 개념으로 추상화합니다. 즉 객체간의 유사성이 있다면 거리가 가깝고, 차이가 많다면 거리가 멀다고 할 수 있습니다. 이 거리를 "거리를 계산하는 함수(distance function)"의 개념으로 metric이라고 정의합니다. 즉 거리 함수는 두점을 입력으로 받아 두 점간의 거리를 계산해 주는 함수입니다. 우리가 일반적으로 알고 있는 거리함수는 유클리디안거리나 벡터의 내적거리입니다. 이외에도 맨하탄거리, 코사인거리 등이 존재합니다. 그리고 거리의 가까운 정도의..

지난 글에서 자연어처리를 위해 문장을 이루는 단어를 표현하는 워드임베딩에 대해 설명하였습니다. 워드임베딩을 포함하여 지금까지 다양한 형태의 데이터를 처리하는 DNN(Deep Neural Net)을 설명하였습니다. 이번 글에서는 좀 다른 형태의 데이터를 표현하고 처리하는 DNN의 하나인 GNN(Graph Neural Network)에 대해 살펴보고자 합니다. 이름에서 쉽게 알수 있듯이 그래프로 표현될 수 있는 데이터를 다루는 DNN입니다. 그래프는 컴퓨터과학에서 네트워크 또는 트리 형태를 표현하는 매우 자주 사용되는 자료구조를 의미합니다. 네트워크 형태의 예로서 도로망, 관계망, 분자의 구조 등이 이 네트워크 형태로 구성된다고 이해될 수 있습니다. 이 네트워크를 나타내는 그래프는 아래와 같이 노드(node..

RNN과 트랜스포머를 통해 일반 자연어처리를 위한 딥러닝을 소개했습니다. 현재 DNN은 많은 분야에 적용되어 영상, 음향, 문자 등 다양한 형태의 데이터를 입력으로 처리하고 있습니다. 영상데이터는 각 픽셀 값을 레벨로 표현하고, 음성을 포함한 음향데이타는 시간도메인 또는 주파수도메인에서의 레벨로 표현하여 DNN에 입력값으로 표현하고 있습니다. 워드임베딩(Word Embedding)은 단어에서 알 수 있듯이 text형태로 존재하는 문장을 처리하기 위한 DNN의 입력방법입니다. 이번 글에서는 문장을 입력으로 처리하기 위한 워드임베딩 방법에 대해 소개하고자 합니다. 워드임베딩은 결론적으로 말하면 단어를 특정한 벡터로 표현하는 방법입니다. 컴퓨터로 언어를 처리하기 위해서 문장의 최소단위인 문자 하나하나는 다양한..

트랜스포머라면 당연히 영화가 생각나시죠! 아직도 트랜스포머하면 2007년에 소개된 영화에서 옵티머스프라임의 중후한 목소리가 지금도 생생히 들리는 것 같습니다. 그런데 오늘 이야기는 영화 트랜스포머가 아니라 인공지능의 또 하나의 획을 그었다고 생각되는 transformer이야기를 하려고 합니다. 결론적으로 말하면 transformer는 구글의 논문 “transformer : attention is all you need” 에서 소개한 attention mechaism이라는 개념을 사용한 자연어처리 모델입니다. 이를 기반으로 다양한 언어처리모델(예로 BERT, GPT 등)이 만들어지기도 하였으며, 언어처리모델 뿐만 아니라 vision transformer의 등장으로 컴퓨터 비전 분야에도 핫한 주제가 되고 있..

labeled data를 만드는 것은 많은 비용이 투자되는 작업이라는 것은 계속 설명드리고 있기 때문에 모든 분이 충분히 이해하실 것이라 생각합니다. 그래서 지난 시간에 전이학습이나 자기주도학습에 대한 이야기를 했습니다. 오늘 이러한 관점에서 적은 데이타로 성능을 올릴 수 있는 또 다른 방법인 semi supervised learning(SmSL), 준지도학습에 대해 살펴보도록 하겠습니다. 우리가 labeled data를 많이 확보하려는 이유는 무엇인가요? 근본적인 것은 모델의 성능을 높이기 위한 것입니다. 따라서 labeled data를 만드는 비용이 많이 들거나 불가능한 경우에 우리가 할 수 있는 방법은 모델의 성능을 높이기 위해 labeled data를 만들지 않고 성능을 높일 수 있는 방법입니다...