Skip to content

태그: AI

Vector Search
ai
벡터 검색은 데이터의 의미를 기반으로 결과를 반환하는 검색 방법이다. 텍스트 일치를 찾는 기존 전체 텍스트 검색과 달리 벡터 검색은 다차원 공간에서 검색 쿼리에 가까운 벡터를 찾는다. 벡터가 쿼리에 가까울수록 의미가 더 유사하다. 벡터 검색을 통해 검색어와 데이터의 의미를 해석함으로써 검색자의 의도와 검색 컨텍스트를 고려하여 보다 관련성이 높은 결과를 검색할 수 있다. 벡터는 데이터를 여러 차원으로 나타내는 숫자 배열이다. 벡터는 텍스트, 이미지, 오디오, 구조화되지 않은 데이터까지 모든 종류의 데이터를 나타낼 수 있다. 의미적 유사성은 벡터 사이의 거리를 측정하여 결정된다. 과정 벡터 임베딩: vector embedding 데이터의 의미있는 특징을 벡터로 나타낸다. 유사도 점수 계산: similar
CNN
ai
CNN이 나오기 이전, 이미지 인식은 2차원으로 된 이미지(채널까지 포함해서 3차원)를 1차원배열로 바꾼 뒤 FC(Fully Connected)신경망으로 학습시키는 방법이었다. 단순 FC 방식은 위와 같이 이미지의 형상을 고려하지 않고, raw data를 직접 처리하기 때문에 많은 양의 학습데이터가 필요하고 학습시간이 길어진다. 또한 이미지가 회전하거나 움직이면 새로운 입력으로 데이터를 처리해줘야 한다. 이미지의 특성을 이해하지 못하고 단순 1D 데이터로 보고 학습을하는것이 특징이다. 이러한 방법은 이미지 데이터를 평면화 시키는 과정에서 공간정보가 손실될 수밖에 없다. 즉, 신경망이 특징을 추출하고 학습하는데 있어 비효율적이고 정확도를 높이는데 한계가 있다. 이런 단점을 보완하여 이미지의 공간정보를 유
Keras
ai
케라스 케라스는 파이썬으로 구현된 쉽고 간결한 딥러닝 라이브러리로, 내부적으로 텐서플로우Tensorflow, 티아노Theano,CNTK 등의 딥러닝 전용 엔진이 구동되지만 내부엔진을 알 필요 없이 직관적인 API로 쉽게 다층퍼셉트론 신경망 모델, 컨벌루션 신경망 모델, 순환 신경망 모델 등 다양한 구성을 할 수 있다. 케라스의 가장 핵심적인 데이터 구조는 바로 모델이다. 케라스에서 제공되는 시퀀스 모델을 사용하면 원하는 레이어를 쉽게 순차적으로 정의할 수 있고, 다중 출력과 같이 좀 더 복잡한 모델을 구성하려면 케라스 함수 API를 사용하면 된다. 케라스로 딥러닝 모델을 만들 때는 다음과 같은 순서로 작성한다. 과정설명데이터셋 전처리원본 데이
Optimizer
ai
손실함수를 줄여나가면서 학습하는 방법은 여러가지가 있는데, 이를 최적화 하는 방법들을 Optimizer라고 부른다. 경사 하강법 경사하강법은 손실 함수또는 비용 함수라 불리는 목적 함수를 정의하고, 이 함수의 값이 최소화되는 파라미터를 찾는 방법이다. 손실 (loss) : 실제값과 모델로 예측한 값이 얼마나 차이가 나는가를 나타내는 값으로, 손실이 작을수록 예측값이 정확한 것이다.비용(cost, error)은 손실을 전체 데이터에 대해 구한 경우이며 비용을 함수로 나타낸 것을 손실 함수또는 비용 함수라고 한다. 함수의 최소값을 찾기 위해 임의의 위치에서 시작해서 기울기를 따라 조금씩 더 낮은 위치로 내려가며 극값에 이를 때까지 반복시킨다. 손실 함수는 인공지능의 파라미터를 통하여 나온 예측 값과 실제 값
RNN
ai
은닉층 안에 하나 이상의 순환 계층을 갖는 신경망 기존 신경망 구조: 모든 입력과 출력이 각각 독립적이라 가정하고, 시간에 따른 입출력 간의 관계를 고려되지 않았음 RNN은 현재 입력을 유추할 때 이전 결과를 반영하여 계산하기 때문에 시간적 순서를 가지는 Sequence 기반 데이터, 연속적인 시계열(time series) 데이터를 잘 다룸 시간 순서를 기반으로 데이터들의 상관관계를 파악해서 그를 기반으로 현재 및 과거 데이터를 통해서 미래에 발생될 값을 예측 활성화 함수로 탄젠트 하이퍼볼릭을 많이 사용함 Cell 안에 Unit이 여러개 들어가고, 각 Cell마다 은닉상태를 가짐 유형 영향을 주는 셀과 영향받는 셀의 관계에 따라 One-to-One, One-to-Many, Many-to-Many 등으로
BERT
자연어처리
BERT는 트랜스포머를 이용하여 구현되었으며, 위키피디아(25억 단어)와 BooksCorpus(8억 단어)와 같은 레이블이 없는 텍스트 데이터로 사전 훈련된 언어 모델이다. BERT가 높은 성능을 얻을 수 있었던 것은, 레이블이 없는 방대한 데이터로 사전 훈련된 모델을 가지고 레이블이 있는 다른 작업(Task)에서 추가 훈련과 함께 하이퍼파라미터를 재조정하였기 때문이다. 넓은 범위에 대해 학습한 모델을 기반으로 다른 작업에 대해서 파라미터 재조정을 위한 추가 훈련 과정을 거치는 것을 파인 튜닝(Fine-tuning)이라고 한다. 스팸 메일 분류를 하고 싶다고 할때, 이미 위키피디아 등으로 사전 학습된 BERT 위에 분류를 위한 신경망을 한 층 추가한다. 이 경우, 비유하자면 BERT가 언어 모델 사전 학습