본문 바로가기
728x90

Drawing (AI)113

Udemy - 딥러닝의 모든 것(볼츠만 머신) - (2) 대조발산 볼츠만 머신의 학습 방법 중 하나인 대조발산(Contrastive Divergence, CD)은 볼츠만 머신을 효율적으로 학습시키는 방법 중 하나이다. 볼츠만 머신은 에너지 기반 모델로, 시스템의 에너지를 최소화하는 방향으로 학습을 진행한다. 대조발산은 이러한 볼츠만 머신의 학습 과정을 단순화하고 가속화하기 위해 고안된 방법이다. 기본 원리를 보자면 대조발산은 데이터의 분포와 모델의 분포 사이의 차이를 최소화하는 방향으로 모델의 매개변수를 조정한다. 이 과정은 두 단계로 이루어진다. Positive phase: 실제 훈련 데이터를 사용하여 네트워크의 은닉 노드를 활성화시키고, 이를 기반으로 네트워크의 에너지를 계산한다. Negative phase: 네트워크가 생성한 샘플(모델 분포에 의해 생성된.. 2024. 1. 7.
Udemy - 딥러닝의 모든 것(볼츠만 머신) - (1) The Boltzmann Machines 이전까지 다룬 ANN, CNN, RNN, SOM등은 모두 방향성이 있는 모델이라는 점에서 공통점이 있다. 이때 볼츠만 머신은 아래와 같이 방향성이 없다는 점에서 궤를 달리한다. 모든 연결성이 양방향으로 전달될 수 있기에 화살표로 표시되어있지 않은 것을 볼 수 있다. 입력노드를 파란색, 은닉노드를 붉은색으로 나타내면 아래와 같다. 이때 출력층이 없다는 특징을 볼 수 있다. 인공신경망에서 결과를 내보내는 출력층이 없다는 것은 굉장히 특징적인 내용이다. 또한 모든 노드가 전부 연결되어있어 특정한 층이라는 것이 존재하지 않는다. 마지막으로 모든 연결이 양방향성을 갖는다. 위의 세가지 특징이 볼츠만 머신을 특별하게 만드는 요소이다. 볼츠만 머신은 입력을 통해 결과를 예측한.. 2024. 1. 5.
Udemy - 딥러닝의 모든 것(SOM)-(2) 간단한 예시 SOM의 개념에 대해서 공부한 글에서 살펴봤듯 자기 조직화 지도(SOM) 방식은 각 포인트들이 범위를 설정하여 주변 노드들을 끌어당겨 각각에 맞는 노드들을 갖게 되어 특정한 topology를 그려내는 것이다. weight를 어떻게 잡느냐에 따라 위와 같이 색별로 모여서 map을 완성하는 것을 볼 수 있다. Advanced SOM 아래 사진은 미국 국회의원들의 각 이슈에 대한 투표 결과를 통해 자기 조직화 지도를 그린 모습이다. 실제 정당별 의원은 세번째 사진에 나타나있다. 첫번째 'Clusters' 사진은 오직 두개의 부류만 있다고 했을때 어떻게 분류했는지 그 결과를 나타내는 것이다. 두번째 'Unified Distance Matrix'에서는 밝을 수록 unit끼리 가깝다는 뜻이므로 실제와 .. 2024. 1. 3.
Udemy - 딥러닝의 모든 것(SOM)-(1) Self-Organizing Maps(자기 조직화 지도) SOM은 차원을 축소하는데 이용이 된다. 아래의 그림은 SOM의 작동원리를 시각화한 것이다. 다차원 데이터셋을 입력받는데 그 데이터 셋 안에는 수많은 행과 열이 있다. 이때 아래와 같은 과정을 통해 데이터 셋의 차원을 줄인다. 수많은 행과 열의 차원을 줄여서 2차원의 평면 지도에 표현을 하는 것이다. 적용 방식 아래는 다양한 국가의 부유하고 가난한 정도를 SOM으로 나타낸 것이다. 아래 값들은 39개의 지표를 기준으로 만들어졌는데 39차원을 시각화하는 것은 불가능하지만 아래와 같이 SOM을 이용하면 가능하다. 좌 상단은 기근에서 자유로운 국가들이고 우 하단은 기근에 시달리는 국가들이다. 또한 색이 비슷한 국가들은 비슷한 성격을 띄는 국가들이다. 위.. 2023. 9. 12.
Udemy - 딥러닝의 모든 것(CNN 구축하기) Dog or Cat 개와 고양이 사진을 주었을때 제대로 구분해 낼 수 있는 CNN모델을 구축해보도록 하자. Importing the libraries import tensorflow as tf from keras.preprocessing.image import ImageDataGenerator tf.__version__ Part 1 - Data Preprocessing Preprocessing the Training set train_datagen = ImageDataGenerator(rescale = 1./255, shear_range = 0.2, zoom_range = 0.2, horizontal_flip = True) training_set = train_datagen.flow_from_direct.. 2023. 9. 5.
BERT(3) BERT를 Fine-tuning 이번에는 사전 학습 된 BERT에 우리가 풀고자 하는 태스크의 데이터를 추가로 학습 시켜서 테스트하는 단계인 파인 튜닝 단계에 대해서 알아보자. 실질적으로 태스크에 BERT를 사용하는 단계에 해당된다고 볼 수 있다. 하나의 텍스트에 대한 텍스트 분류 유형(Single Text Classification) BERT를 사용하는 첫번째 유형은 하나의 문서에 대한 텍스트 분류 유형이다. 이 유형은 영화 리뷰 감성 분류, 로이터 뉴스 분류 등과 같이 입력된 문서에 대해서 분류를 하는 유형으로 문서의 시작에 [CLS] 라는 토큰을 입력하다. 앞서 사전 훈련 단계에서 다음 문장 예측을 설명할 때, [CLS] 토큰은 BERT가 분류 문제를 풀기위한 특별 토큰이다. 텍스트 분류 문제를 풀.. 2023. 8. 20.
BERT(2) Intro BERT(Bidirectional Encoder Representations from Transformers)는 2018년에 구글이 공개한 사전 훈련된 모델이다. BERT는 2018년에 공개되어 등장과 동시에 수많은 NLP task에서 최고 성능을 보여주면서 NLP분야의 한 획을 그은 모델로 평가받고 있다. BERT의 구조에 대해 이해하고, 간단하게 실습해보려한다. BERT의 T가 transformer인 만큼 트랜스포머를 이용하여 구현되었다. 위키피디아의 25억개 단어, BooksCorpus의 8억개 단어와 레이블이 없는 텍스트 데이터로 pre-train이 되어있는 언어모델이다. BERT가 높은 성능을 얻을 수 있었던 것은, 레이블이 없는 방대한 데이터로 사전 훈련된 모델을 가지고 Fine-t.. 2023. 8. 13.
BERT(1) Bert: Pre-training of deep bidirectional transformers for language understanding Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova Google AI Language Background Pre-trained Language Model 2015년 구글은 'Semi-supervised Sequence Learning'라는 논문에서 LSTM 언어 모델을 학습하고나서 이렇게 학습한 LSTM을 텍스트 분류에 추가 학습하는 방법을 보였다. 이 방법은 우선 LSTM 언어 모델을 학습합니다. 언어 모델은 주어진 텍스트로부터 이전 단어들로부터 다음 단어를 예측하도록 학습하므로 기본적으로 별도의 레이블.. 2023. 8. 2.
GAN Generative Adversarial Networks(GAN) GAN은 Generative Adversarial Networks의 약자로 우리말로는 “적대적 생성 신경망”이라고 번역되는 딥러닝기술 중 하나이다. GAN은 실제에 가까운 이미지나 사람이 쓴 것과 같은 글 등 여러 가짜 데이터들을 생성하는 생성형모델이다. “적대적 생성 신경망”이라는 이름에서 알 수 있듯 GAN은 서로 다른 두 개의 네트워크를 적대적으로(adversarial) 학습시키며 실제 데이터와 비슷한 데이터를 생성(generative)해내는 모델이며 이렇게 생성된 데이터에 정해진 label값이 없기 때문에 비지도 학습 기반 생성모델로 분류된다. GAN은 구글 브레인에서 머신러닝을 연구했던 Ian Goodfellow에 의해 2014년.. 2023. 7. 26.
728x90