728x90
반응형

전체 글 191

Residual Attention Network for Image Classification (2017) 논문 분석

1. Introduction 위 논문은 CNN에 Attention을 적용한 논문으로, ResNet에 Attention mechanism을 사용했다. Residual Attention Network는 Attention Module로 이루어져있고, Attention 모듈 내부에는 크게 마스크를 생성하는 부분과, 기존 모듈(residual 모듈, inception 모듈) 두 파트로 이루어져 있다. 기존 모듈의 출력값에 마스크를 곱하여 출력값의 픽셀에 가중치를 부여하는 것. 즉, Attention module은 이미지에서 중요한 특징을 포착하여 출력값을 정제해주는 역할을 한다. Attention module이 깊게 쌓일 수록 다양한 특징을 포착하고 가중치를 부여할 수 있어 성능이 향상된다. 위 그림을 보면 기존..

AI/딥러닝 2024.03.17

GRU(Gated Recurrent Unit) 정리

GRU (Gated Recurrent Unit) GRU는 Gate 메커니즘이 적용된 RNN 프레임워크의 일종으로 LSTM에 영감을 받았고, LSTM보다 조금 더 간단한 구조를 가지고 있음. 대한민국의 조경현 박사님이 제안한 방법. GRU는 LSTM과 마찬가지로 Gate 개념 사용. GRU의 핵심은 아래 두가지이다. (1) LSTM의 forget gate와 input gate를 통합하여 하나의 'update gate'를 만든다. GRU는 크게 reset gate와 update gate로 나뉨. (2) Cell State와 Hidden State를 통합한다. GRU는 memory cell을 사용하지 않음. GRU는 LSTM에 비하여 파라미터수가 적기 때문에 연산 비용이 적게 들고, 구조도 더 간단하지만, 성..

AI/딥러닝 2024.03.17

LSTM (Long Short Term Memory) 정리

RNN의 문제점 1. Gradient Vanishing 긴 sequence에서 역전파를 진행할 때 위와 같이 각 편미분 값이 1보다 작고, hidden layer의 개수가 100개가 넘어가면 결국 $ \frac{\partial E}{\partial W} $ 값이 0에 가까워져서 결국 가중치 업데이트가 거의 이루어지지 않아 학습이 매우 길어지고 비효율적이게 됨. 2. Gradient Exploding 마찬가지로 긴 sequence에서 역전파를 진행할 때 위와 같이 각 편미분 값이 1보다 크고, hidden layer의 개수가 100개가 넘어가면 결국 $ \frac{\partial E}{\partial W} $ 값이 커지게 되고 가중치 업데이트가 왔다갔다 변동이 커짐. LSTM LSTM은 RNN의 특별한 한..

AI/딥러닝 2024.03.17

RNN(Recurrent Neural Network) 정리

RNN 기본 개념 RNN은 입력과 출력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델이다. 시퀀스(Sequence): 배열. 순서를 갖는 값들의 모임을 의미한다. ex) 번역기 - 입력: 번역하고자 하는 단어의 시퀀스인 문장, 출력: 번역된 단어의 시퀀스인 문장 MLP, CNN 등의 신경망들은 전부 은닉층에서 활성화 함수를 지난 값은 오직 출력층으로만 향하는 피드 포워드 신경망(Feed Forward Neural Network)이다. RNN(Recurrent Neural Network)는 은닉층의 노드에서 활성화 함수를 통해 나온 결과값을 출력층 방향으로도 보내면서, 다시 은닉층 노드의 다음 계산의 입력으로 보내므로 순환(Recurrent)의 의미를 담고 있다. RNN에서 은닉층에서 활성화 함수..

AI/딥러닝 2024.03.17

MLP(Multi-Layer Perceptron)과 CNN(Convolutional Neural Network) 정리

MLP (Multi-Layer Perceptron) MLP란 여러 개의 퍼셉트론 뉴런을 여러 층으로 쌓은 다층신경망 구조이다. 입력층과 출력층 사이에 하나 이상의 은닉층을 가지고 있는 신경망이다. 인접한 두 층의 뉴런 간에는 완전 연결(fully connected) 된다. MLP 연산 과정 정리 이미지 데이터 처리 시 MLP의 문제점 MLP에서는 2차원 이상의 텐서를 1차원으로 flatten시켜 신경망 모델에 특성이 입력된다. 그림과 같이 이미지 데이터가 28 x 28 픽셀로 이루어져 있다면 이 특성들을 784개의 특성으로 1차원으로 줄인 후에 신경망 모델에 784개의 특성이 입력되는 것이다. 문제점 가중치의 수가 이미지 픽셀만큼 생기므로 고해상도 이미지를 분석하는 경우, 최적의 가중치를 추정하지 못하거..

AI/딥러닝 2024.03.17

[Pytorch] 소프트맥스 회귀(Softmax Regression) 구현 & MNIST 분류 적용

이전 게시글에서는 다중 클래스 분류, 소프트맥스 함수, 크로스엔트로피 함수에 대해 정리해보았다. 이전 게시글 참고: https://daeunnniii.tistory.com/195 [ML] 다중 클래스 분류(Multi-Class Classification) 정리 이전 로지스틱 회귀 게시물에서는 독립 변수 $ x $가 1개인 이진 분류(Binary Classification)를 다루었다. 이번에는 독립 변수 $ x $가 2개 이상인 다중 클래스 분류(Multi-class Classification)와 소프트맥스 회 daeunnniii.tistory.com 이번 게시글에서는 위에서 이론을 정리해보았던 소프트맥스 회귀(Softmax Regression)를 Pytorch로 구현해보는 과정을 정리할 것이다. 1. ..

AI/머신러닝 2023.05.14

[ML] 다중 클래스 분류(Multi-Class Classification) 정리

이전 로지스틱 회귀 게시물에서는 독립 변수 $ x $가 1개인 이진 분류(Binary Classification)를 다루었다. 이번에는 독립 변수 $ x $가 2개 이상인 다중 클래스 분류(Multi-class Classification)와 소프트맥스 회귀(Softmax Regression)에 대해 정리할 것이다. https://daeunnniii.tistory.com/194 [ML] 로지스틱 회귀(Logistic Regression) 쉽게 이해하기 & Pytorch 구현 로지스틱 회귀(Logistic Regression) 로지스틱 회귀를 알아보기 위해 선형회귀와 마찬가지로 독립 변수 $ x $가 1개인 이진 분류(Binary Classification)에 대해 정리하고 Pytorch로 구현해본 뒤 독립..

AI/머신러닝 2023.05.12

[ML] 로지스틱 회귀(Logistic Regression) 쉽게 이해하기 & Pytorch 구현

로지스틱 회귀(Logistic Regression) 독립 변수 $ x $가 1개인 이진 분류(Binary Classification)와 로지스틱 회귀에 대해 정리하고 Pytorch로 구현해본 뒤, 독립 변수 $ x $가 2개 이상인 다중 분류(Multiclass Classification)와 소프트맥스 회귀에 대해 정리하고 Pytorch로 구현해볼 것이다. 이번 게시글에서는 로지스틱 회귀를 다룬다. 1. 이진 분류(Binary Classification) 이진 분류는 시험이 합격인지 불합격인지 예측하는 문제, 스팸 메일인지 정상 메일인지 분류하는 문제와 같이 둘 중 하나를 결정하는 문제를 말한다. 이러한 이진 분류를 풀기 위한 대표적인 알고리즘으로 로지스틱 회귀(Logistic Regression)이 있..

AI/머신러닝 2023.04.09

[ML] 다중 선형회귀(Multivariable Linear Regression) 정리 & Pytorch 구현

선형 회귀(Linear Regression) 선형 회귀는 주어진 데이터로부터 x와 y의 관계를 가장 잘 나타내는 직선을 그리는 것을 의미한다. 여기서 x는 독립적으로 변할 수 있는 독립 변수, y는 x 값에 의해 종속적으로 결정되므로 종속 변수에 해당한다. 독립 변수 x가 1개인 단순 선형 회귀와 Pytorch 구현에 대해서는 아래 게시글에 설명되어있다. https://daeunnniii.tistory.com/192 [ML] 선형 회귀 (Linear Regression) 정리 & Pytorch 구현 선형 회귀(Linear Regression) 선형 회귀는 주어진 데이터로부터 x와 y의 관계를 가장 잘 나타내는 직선을 그리는 것을 의미한다. 여기서 x는 독립적으로 변할 수 있는 독립 변수, y는 x 값에 ..

AI/머신러닝 2023.04.09

[ML] 선형 회귀 (Linear Regression) 정리 & Pytorch 구현

선형 회귀(Linear Regression) 선형 회귀는 주어진 데이터로부터 x와 y의 관계를 가장 잘 나타내는 직선을 그리는 것을 의미한다. 여기서 x는 독립적으로 변할 수 있는 독립 변수, y는 x 값에 의해 종속적으로 결정되므로 종속 변수에 해당한다. 1. 단순 선형 회귀(Simple Linear Regression) 독립 변수 x가 1개이면 단순 선형 회귀이다. 직선의 방정식에서 기울기를 머신러닝에서는 w 가중치(weight)라고 하며, 별도로 더해지는 값 b를 편향(bias)라고 한다. 2. 다중 선형 회귀 분석(Multiple Linear Regression Analysis) 독립 변수 x가 2개 이상이면 다중 선형 회귀이다. 다수의 요소 x1, x2, ..., xn을 가지고 y 값을 예측한다..

AI/머신러닝 2023.04.09
728x90
반응형