Super Kawaii Cute Cat Kaoani '수업정리/딥러닝 이론' 카테고리의 글 목록

수업정리/딥러닝 이론 28

Supervised Contrastive Learning 코드 분석

supervised contrastive learning을 하기 위해 공개된 코드를 사용해야할 일이 생겼다. 아무리 가져온 코드라 하더라도 이해하지 않고 사용하는건 말이 안되는 것 같아, 해당 코드를 분석하는 포스트를 작성하고자 한다.🍀 코드 출처: https://ffighting.net/deep-learning-paper-review/self-supervised-learning/supervised-contrastive-learning/ Supervised Contrastive Learning - 딥러닝 논문 리뷰Supervised Contrastive Learning 논문의 핵심 내용을 리뷰합니다. Supervised Contrastive Learning의 제안 방법을 살펴봅니다. 마지막으로 성능 비..

Triplet Loss 이해하기(개념, 수식, 주의사항)

Triplet LossTriplet Loss는 딥러닝 기반의 임베딩 학습에서 자주 사용되는 손실 함수이다. 해당 손실 함수를 사용하면, 주어진 데이터들의 관계를 고려하여 임베딩 공간에서 특정한 거리를 유지하도록 학습하는데 도움을 준다. Triplet Loss는 이름에서도 추측할 수 있듯이 세가지 샘플(triplet set)로 구성된 입력 데이터(Anchor, Postive, Negative)를 사용하여 정의된다. Triplet Loss의 구성요소1) Anchor(A): 기준이 되는 데이터 포인트2) Postive(P): Anchor와 같은 클래스에 속하는 데이터 포인트3) Negative(N):Anchor과 다른 클래스에 속하는 데이터 포인트 Triplet Loss의 목표Triplet Loss의 주요 목..

Soft Actor-Critic(SAC) 컨셉 이해

Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor에서 제안하는 방법론에 대한 컨셉을 이해하는 글이다. 1. Soft Actor-Critic(SAC)란? SAC는 오프-폴리시(off-policy) 액터-크리틱(actor-critic) 기반 딥 강화학습 알고리즘이다. SAC의 기본 아이디어는 "standard maximum reward reinforcement leraning에 entropy term을 추가해서 단순히 reward를 최대화하는 것 뿐만이 아니라, 엔트로피를 최대화하면서 정책의 탐험을 장려"하는 것이다. 즉, task를 수행하면서 가능한 무작위로 행동하려고 하기 때문에,..

Batch normalization vs Input normalization 이해하기

Batch normalization과 Input normalization은 모두 데이터 정규화 기술이지만, 방식과 적용되는 시점에서 차이가 있다. 1) Batch normalization Batch normalization은 각 mini batch의 평균과 표준편차를 계산하고, 이를 사용하여 입력을 정규화하는 방식이다. normalization 작업이 별도의 과정으로 떼어진 것이 아니라 신경망 안에 포함되어, normalization 작업 역시 학습과정에서 같이 조절되게 된다. 즉, 각 레이어마다 정규화하는 레이어를 두어, 변형된 분포가 나오지 않도록 조절하는 것이 batch normalization이다. normalization 작업 역시 학습 과정에서 조절된다. 따라서 위의 식에서 베타와 감마는 학습..

Residual Network, Residual Block 개념정리

Skip Connection이라는 개념을 활용해 Residual Block을 연속적으로 쌓아 깊은 네트워크를 형성했음에도 불구하고 좋은 성능을 가지는 ResNet에 대해 알아보자. 등장 배경 기존의 네트워크들은 네트워크 깊이가 깊어지면 gradient vanishing과 같은 치명적인 문제가 발생하게 된다. 네트워크를 깊게 쌓으면서도, gradient vanishing 문제가 발생하지 않는 방법이 없을까 하는 고민에서 등장한 network가 Residual Network(ResNet)이다. 네트워크가 깊어질수록 Optimize(Train)하는 것이 어렵기 때문에 Deep Network는 Shallow Network만큼의 퍼포먼스를 보이지 않는다. 하지만 ResNet은 gradient vanishing 문..

Diffusion Model 설명

overview Diffusion Model은 data를 만들어내는 deep generative model 중 하나로, data로부터 Noise를 조금씩 더해가면서 data를 완전한 Noise로 만드는 1) Forward diffusion process와 이와는 반대로 Noise로부터 noise를 조금씩 제거해나가면서 입력 data와 유사한 확률 분포를 가지는 결과 data를 생성해나가는 2) reverse diffusion process를 활용한다. 위의 그림에서 x_0가 원본 data이며 forward diffusion process에서는 여러 단계에 걸쳐 noise를 추가해나가며 완전한 noise x_T를 만들어낸다. reverse diffusion process에서는 x_T로부터 Noise를 제거..

Autoregressive Learning

학습 결과에 계속 문제가 생겨 이를 해결하기 위해 autoregressive learning을 시도해보기로 하였다. 개념도 가물가물하고 구현해보는 것도 처음이라 공부할겸 이렇게 정리해보았다. Autoregressive learning(자기회귀 학습)이란? 시계열 데이터나 순차적인 데이터에 대한 모델링 기법 중 하나로, 현재의 상태나 값이 이전 상태나 값에 의존하는 경우에 주로 사용된다. autoregressive model은 현재 시점의 값을 이전 시점의 값을 사용하여 예측하거나 생성하게 된다. 즉 현재 값은 이전 값들의 함수로써 모델링 된다는 것이 특징이다. 이러한 방식으로 모델을 구성하면, 데이터의 순차적인 특징을 잘 반영하고, 시간에 대한 변화나 패턴을 잘 파악할 수 있다. Character Con..

728x90
728x90