컴퓨터공학 54

BERT(Bidirectional Encoder Representations from Transformers)

BERT(Bidirectional Encoder Representations from Transformers)는 2018년 구글 AI에서 개발한 자연어 처리(NLP) 모델로, 트랜스포머(Transformer) 아키텍처를 기반으로 한다. BERT는 다양한 NLP 작업에서 혁신적인 성능을 보여주었고, 이후 많은 연구 및 응용 모델들의 기초가 되었다. BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingWe introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from T..

GPT(Generative pre-trained transformer)

GPT-1(Generative Pre-trained Transformer 1)은 2017년 Google의 트랜스포머 아키텍처 발명에 이은 OpenAI의 첫 번째 대규모 언어 모델입니다. 2018년 6월, OpenAI는 "Improving Language Understanding by Generative Pre-Training"이라는 제목의 논문을 발표했으며, 이 논문에서 생성형 사전 훈련된 트랜스포머의 일반적인 개념과 함께 초기 모델을 소개했다. Improving Language Understanding by Generative Pre-Training그 시점까지 가장 성능이 좋은 신경망 NLP 모델은 주로 수동으로 레이블링된 대량의 데이터로부터 지도 학습을 사용했다. 지도 학습에 대한 이러한 의존은 주석..

Attention is All You Need

"Attention Is All You Need"는 Google에서 일하는 8명의 과학자가 저술한 기계 학습 분야의 2017년 기념비적 연구 논문으로, 2014년 Bahdanau 등이 제안한 어텐션 메커니즘을 기반으로  자연어 처리(NLP) 분야에서 큰 혁신을 일으킨 트랜스포머(Transformer) 모델을 소개하고 있다. 이 논문은 전통적인 순차 처리 방식의 RNN(Recurrent Neural Network)이나 LSTM(Long Short-Term Memory)과는 달리, 완전히 Attention 메커니즘에 기반한 모델을 제안하여 성능과 효율성 면에서 뛰어난 결과를 보여준다. Attention Is All You NeedThe dominant sequence transduction models ar..

CNN 자바로만 구현하기

CNN을 구현해 보고자 한다.파이선의 텐서플로우를 사용하면 쉽게 구현할 수 있겠지만 공부를 위해서 또 향후 좀더 발전된 알고리즘을 개발하기 위해 Java로 구현하고자 한다. 물론 Java에도 Deeplearning4j라는 라이브러리가 있지만 이 역시 사용하지 않고 순수 코드로만 작성한다.구현은 고전적인 숫자학습으로 하고자 한다. 입력 데이터 셋 : https://yann.lecun.com/exdb/mnist/인식율은 90~92% 정도 되는 것 같다. import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.u..

컴퓨터공학/CNN 2024.08.18

Forward-Forward Algorithm

Forward-Forward Algorithm(FF)은 딥러닝 및 인공지능 연구 분야에서 새로운 훈련 방법으로 제안된 알고리즘 중 하나이다. 주로 전통적인 역전파(Backpropagation) 알고리즘의 대안으로 연구되고 있다.전통적인 역전파에서는 순전파->역전파의 과정을 거치므로 역전파라는 실재 뇌에서는 존재하지 않을 것 같은 과정을 거치게 된다.반면 FF의 경우 손실계산을 위해 순전파를 사용하므로 좀더 적절?해 보일 수 있다. 다만 현재의 FF로는 역시 불필요한? 순전파가 있고 현재의 손실보정율이 역전파에 비해 떨어지는 문제가 있다.다만 딥러닝에 있어 역전파 외에도 순전파가 가능하다는 점을 보여주었고 향후 두번째 순전파를 손실보정과 결과출력, 손실계산을 동시에 사용한다면 좀더 좋은 모델이 되지 않을까..

컴퓨터공학/NN 2024.08.16

역전파(Backpropagation)

역전파(Backpropagation)는 인공 신경망에서 사용되는 핵심 알고리즘으로, 신경망의 가중치(weight)를 학습시키는 데 사용된다. 역전파 알고리즘은 신경망의 출력과 실제 값 사이의 오차를 기반으로 가중치를 업데이트하여 신경망의 성능을 향상시키는 과정이다.  이 과정을 통해 기존 퍼셉트온의 XOR미해결 문제를 해결할 수 있었다.1. 기본 개념신경망은 여러 개의 층(layer)으로 구성되어 있으며, 각 층에는 여러 개의 뉴런(neuron)이 있다. 각 뉴런은 입력 값을 받아 가중치와 곱한 후 비선형 활성화 함수를 통해 다음 층으로 전달한다. 신경망의 학습 과정은 주어진 입력에 대해 원하는 출력 값을 만들어내기 위해 가중치를 조정하는 과정이다.2. 순전파(Forward Propagation)입력 데..

컴퓨터공학/NN 2024.08.15

Convolutional Layer(합성곱층)

Convolutional Layer(합성곱층)는 Convolutional Neural Networks(CNN)의 핵심 구성 요소 중 하나로, 이미지나 신호에서 특징을 추출하는 역할을 한다. Convolutional Layer의 작동 원리와 주요 개념들을 아래에 상세히 설명하겠다.Convolutional Layer의 주요 개념필터(Filter) 또는 커널(Kernel):필터는 작은 크기의 행렬(예: 3x3, 5x5 등)로 구성된다.필터의 값은 학습을 통해 조정되며, 초기에는 랜덤 값으로 시작한다.각 필터는 이미지의 특정 특징(에지, 텍스처 등)을 감지한다.여러 개의 필터를 사용하여 다양한 특징 맵을 생성할 수 있다.스트라이드(Stride):필터가 입력 이미지 위를 이동하는 간격을 나타낸다.스트라이드가 1이..

컴퓨터공학/CNN 2024.08.14

CNN/RNN/Transformer 특징 장단점 비교하기

CNN(Convolutional Neural Networks), RNN(Recurrent Neural Networks), 생성형 AI에서 사용하는 트랜스포머(Transformer)의 차이점과 특징을 설명한다. 1. CNN (Convolutional Neural Networks) 구조와 동작 방식:CNN은 이미지 데이터 처리에 주로 사용된다. 입력 이미지에서 특징을 추출하기 위해 컨볼루션 필터를 사용한다.필터를 통해 지역적인 특징을 학습하고, 풀링 레이어를 통해 차원을 축소한다. 장점:이미지 및 영상 데이터 처리에 매우 효율적.지역적인 특징을 잘 학습할 수 있음.파라미터 수가 적고, 학습이 비교적 빠름. 단점:순차 데이터 처리에는 적합하지 않음.이미지의 전체적인 문맥을 이해하는 데 한계가 있을 수 있음. ..

컴퓨터공학/NN 2024.08.10

다층 퍼셉트론(MLP, Multi-Layer Perceptron)

다층 퍼셉트론(MLP, Multi-Layer Perceptron)은 인공 신경망의 한 형태로, 여러 개의 퍼셉트론 층으로 구성되어 있다. MLP는 입력층, 하나 이상의 은닉층, 출력층으로 이루어져 있으며, 각 층은 다수의 노드(뉴런)로 구성된다. MLP는 단순한 퍼셉트론으로 해결할 수 없는 비선형 문제(XOR 문제)를 해결할 수 있도록 고안되었다.다층 퍼셉트론의 구조입력층(Input Layer):네트워크의 첫 번째 층으로, 각 노드는 입력 데이터를 받아들인다. 이 층은 단순히 데이터를 다음 층으로 전달하는 역할을 한다.은닉층(Hidden Layers):하나 이상의 은닉층으로 구성될 수 있으며, 각 은닉층은 여러 개의 노드로 구성된다. 은닉층의 노드는 입력 데이터를 처리하고 특징을 추출하는 역할을 한다.은..

컴퓨터공학/NN 2024.08.06

신경망의 기본, 퍼셉트론(Perceptron)

퍼셉트론(Perceptron)은 인공 신경망의 가장 기본적인 단위로, 하나의 뉴런을 모형화한 것이다. 퍼셉트론은 1957년 Frank Rosenblatt에 의해 처음 제안되었으며, 이진 분류 문제를 해결하는 데 사용된다. 퍼셉트론의 기본 개념과 작동 원리는 다음과 같다.퍼셉트론의 구조입력층(Input Layer):여러 개의 입력 값 x1,x2,…,xn​으로 구성됩니다. 각 입력 값은 뉴런에 연결된다.가중치(Weights):각 입력 값에는 가중치 w1,w2,…,wn가 부여됩니다. 가중치는 입력 값의 중요도를 나타내며 학습 과정에서 조정된다.편향(Bias):뉴런의 출력 값을 조정하는 데 사용되는 추가적인 매개변수 b이다. 편향은 뉴런이 활성화될 기준을 설정하는 역할을 한다.활성화 함수(Activation F..

컴퓨터공학/NN 2024.08.06