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

초기에 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를 만들지 않고 성능을 높일 수 있는 방법입니다...

지난 시간에는 labeled data를 제작해야하는 문제점을 극복하기 위한 방법으로 전이학습에 대한 이야기를 했습니다. 사실 지도학습의 이러한 문제는 labeled data를 충분히 만들면 가능한 일이지만 사실 이 충분한 데이터라는 것이 특정 문제에 한해서만 적용이 가능한 문제이며, 많은 문제 영역에서는 충분한 labeled data를 만드는 것이 사실 어려운 현실입니다. 또한 충분하다는 것도 그 만큼 정의하기 어려우며 문제의 범위에 따라 다양한 새로운 입력데이터에 대해 대응하지 못하는 결함이 존재할 수 밖에 없습니다. 이러한 한계점을 근본적으로 극복하고자 하는 방법으로 제시되는 연구분야가 자기지도학습(Self-Supervised Learning-SSL)입니다. 사실 현재는 거의 AI연구에 대부분이 SS..

딥러닝기반의 인공지능 시스템 개발에서의 가장 어렵거나 많은 비용이 드는 것은 지도학습을 위한 학습데이타를 생성하는 것입니다. 예를 들어 표적인식 등에 가장 많이 사용하는 CNN기반의 딥러닝 모델의 경우 학습을 위한 labeled data를 만드는 데 많은 비용이 들거나 데이터를 만들기가 어려운 경우가 대부분입니다. 이러한 경우에 사용하는 방법이 전이학습(Transfer Learning)입니다. 전이학습은 많은 데이타셋으로 이미 학습된 모델(이를 pre-trained model이라고 함)을 데이터셋이 적은 분야에 재활용하여 사용하는 방법을 말합니다. 이렇게 재사용하는 것을 fine-tuning한다고 부릅니다. CNN을 예로 들어 설명해 보도록 하겠습니다. CNN은 지난번 이야기한 것처럼 아래와 같이 크게 ..

AI모델의 정확도를 결정하는 것 중에 가장 중요한 요소가 학습데이터라는 것은 모두가 잘 알고 계실 겁니다. 학습데이터로 학습된 모델이 실제에서도 같은 정확도를 갖고 있어야 의미가 있기 때문입니다. 이러한 학습데이터의 유효성을 이야기할 때 사용하는 용어 중에 불균형 데이터(imbalanced data)가 있습니다. 단어에서부터 벌써 불균형데이타는 문제가 있는 데이터라는 것을 직감하실 겁니다. 네. 맞습니다. 불균형 데이터는 학습 데이터의 전체 집합에서 특정한 데이터세트들이 상대적으로 적은 데이터세트이 포함된 데이터를 의미합니다. 예를 들어 제조 불량데이터의 경우는 정상과 불량으로 구분하는데 불량 데이터는 상대적으로 불량이 적기 때문에 데이터의 획득이 어려울 것입니다. 연령분포 데이터의 경우도 연령의 분포가..