본문 바로가기

분류 전체보기100

오토인코더(AutoEncoder, AE) 란? 오토인코더란 무엇이고 왜 사용하는 것일까? AutoEncoder(오토인코더)는 입력 데이터를 저차원의 벡터로 압축한 뒤 원래 크기의 데이터로 복원하는 신경망이다. 쉽게 말해 단순히 입력을 출력으로 복사하는 신경망이다. 비지도학습에서 사용되며 입력 데이터를 가공하여 목표값을 출력하는 방식이 아니기에 레이블 정보가 없는 데이터의 특성을 분석하거나 추출을 목표로 사용된다. 또한 차원 축소나 데이터의 압축, 데이터의 노이즈 제거, 이상치를 탐지하는데에도 이용한다. 인코더의 역할은 입력을 내부 표현(데이터 차원을 축소시켜 벡터로 압축)으로 변환을 한다. 디코더의 역할은 내부 표현(*Latent 벡터를 업샘플링)을 출력으로 변환 한다. *Latent(잠재 벡터): 원본 데이터보다 차원이 작으면서, 데이터의 특지을 .. 2022. 5. 18.
이미지 분할(Segmentation)이란? 이미지 분할(Segmentation)이란? 한 이미지 내에서 같은 의미(사람은 사람,차는 차)를 가지고 있는 부분을 구분해내는 것이다. 즉 사진의 예시처럼 이미지 내 다양한(사람,자동차,도로,표지판) 등을 픽셀 단위로 레이블을 예측하여 구분하는 것이다. 분할은 크게 Semantic Segmentation와 (Semantic) Instance Segmentation로 구별되는데 예시는 아래와 같다. 위의 예시처럼 많은 의자를 동일하게 의자 하나로 볼 것인가, 아니면 각 의자마다 레이블을 줄 것인가? 의 차이이다. 분할에 대한 의미는 파악했으니 대표적인 분할 모델인 FCN, U-net에 대해 알아보자 FCN(Fully Convolutional Networks) 분할(Segmantation)은 픽셀 단위로 분.. 2022. 5. 17.
합성곱 신경망(Convolutional Neural Network, CNN)이란? 합성곱 신경망 (Convolutional Neural Network, CNN) 은 왜 필요한 것일까? 기존에 배운 DNN(Deep Neural Network)은 커다란 해상도의 이미지들을 분석할 때 데이터를 1차원 형태로 변환하여 하나의 row로 표현하기가 쉽지가 않았다. 반면 CNN은 이미지의 한 픽셀과 주변 픽셀들의 연관관계를 유지시켜 영상, 사진과 같은 데이터 처리를 할 때 발생하는 문제들을 해결하여 공간적 특성을 유지한채 학습을 할 수 있다. 간단히 말해 이미지를 인식하기 위한 패턴을 찾는데 유용하기 때문에 자주 사용된다. 어떻게 CNN은 이미지의 주변 픽셀들 분석하는걸까? CNN은 크게 특징 추출 단계(Feature Extraction)와 이미지 분류 단계(Classification)으로 이루어.. 2022. 5. 16.
시바스리갈 18년산(CHIVAS REGAL Gold Signature) 리뷰 시바스리갈 18년산을 구매하게 된 경위 술을 참 좋아하는 나는 봉명동에 술을 마시러 자주 들리는데, 근처에 위치한 가자주류가 집가는 길에 위치해 있어 어쩔 수 없이 자주 방문하게된다...(?)는 뻥이고 나는 어떤 술이 있나 뭘 먹어볼까 고민하는 행복한 취미가 있다. 그냥 삼삼한 와인이라도 한 두개씩 사기도 하고, 가끔은 혼자 기분을 내기 위해 내 기준에서 고급 술(10만원 이상급) 술을 구매하여 소소하지만 큰 행복을 느끼기도 한다. 그래서 이번 방문에는 소소하지 않으면서도 큰 행복을 느끼려 마음먹고 로얄 샬루트를 구매하러 갔는데 사장님께서 가정의 달이라 많이 매입을 해두셨는데도 불구하고 선물용으로 이미 다 나가 품절이라고 하셨다. ㄷ ㄷ 하여 대체제를 찾다보니, 사장님께서 추천해주신건 로얄샬룻과 비슷한 .. 2022. 5. 16.
소프트맥스(Softmax) 함수란? 딥 러닝을 이해하기 위해서는 다양한 회귀를 이해할 필요가 있다고 한다. 이번에는 출력층에서 자주 사용되는 활성화 함수인 소프트맥스 회귀에 대해 공부해보고자한다. 우선 소프트 맥스에 대해 알기전에 기본적인 선형회귀와 로지스틱 회귀의 개념에 대해 살짝 정리하고 진행해보자. (더보기 클릭) 더보기 선형 회귀(Linear Regression) 다른 변수의 값을 변하게 하는 독립변수 x와, x에 의해 변하게 되는 종속변수 y가 있다고 가정하자. y=wx+b의 경우에는 단순 선형회귀라 한다. y=w1x1+w2x2 .....+b의 경우에는 다중 선형 회귀라고 한다. 단순 선형의 예로는 오래 걸으면 살이 빠진다. 다중 선형의 예로는 집 가격은 지하철역, 극장, 치안, 학군 등에 관련 되어 있다. 로지스틱 회귀(Logi.. 2022. 5. 15.
Transfomer란 무엇일까? Transformer란? 기존의 RNN은 데이터가 입력되어지는 순서대로 들어오기에 때문에 처리를 해야하는 시퀀스가 많아질수록 연산 시간이 점점 길어졌다. Transformer 모델은 토큰을 동시에 입력받아 병렬 연산이 가능하다. 즉 기존적인 RNN과는 다르게 ATTENTION을 병렬화 하여 뛰어난 성능을 보여주는 모델이다. 아래 그림으로 기존 모델과 Transfomer의 모델의 차이점을 확인해보자. 기존의 모델에서는 입력 순서대로 토큰이 들어오기에 토큰에 대한 위치 정보가 필요없었다. 그렇다면 Transfomer에서 입력이 병렬적으로 들어온다면, 어디에 어떤 토큰이 있는지 알 수 있는 것일까? 이 질문에 대한 해답은 트랜스포머 모델의 기본적인 구조에서 확인해 볼 수 있다. 빨갛게 색칠되어 있는 Posit.. 2022. 5. 15.
장단기 기억망(Long-short Term Memory, LSTM)이란? 장단기 기억망(Long-short Term Memory, LSTM)이란? RNN의 기울기 정보 크기를 조절하기 위한 GATE를 추가하여 기울기 소실,폭발의 문제를 해결하기 위해 고안된 모델 RNN이라고 하면 일반적으로 LSTM을 가리키며 이는 연속적인 데이터를 처리하기 위한 대표적인 모델이다. 기존 RNN의 모델은 기울기 문제로 인해 문장에 대한 분류,번역,생성 성능이 낮았지만 이를 해결함 그러한 기울기 문제를 해결하기 위해 LSTM에선 *3가지 GATE가 추가 되었는데 이는 아래와 같다. 더보기 * 3가지 GATE 1. Forget Gate (ft): 과거 정보를 얼마나 유지할 것인가? 2. Input Gate (It) : 새로 입력된 정보는 얼마만큼 활용할 것인가? 3. Output Gate (Ot).. 2022. 5. 14.
순환 신경망(Recurrent Neural Network)이란? 더보기 순환 신경망(Recurrent Neural Network)의 구조와 작동 방식에 대해 알아보자 순환 신경망(Recurrent Neural Network, RNN)이란? 입력과 출력을 시퀀스 단위(연속형 데이터)로 처리하기 위해 고안된 신경망 시퀀스 모델이다. 연속형 데이터(Sequentail Data)의 의미는 어떠한 순서로 오는지에 따라 단위 의미가 달라지는 데이터를 의미한다. 시퀀스 단위로 처리되는 것의 예로 연속적인 주가 흐름, 구글 번역기 긴 문장 등의 예가 있다. 그렇다면 RNN은 어떤 구조를 가졌기에 연속형 데이터를 처리할 수 있는 것일까? 왼쪽에 위치한 이미지의 3가지 화살표를 보면 다음의 의미와 같다 입력 벡터(Xt)가 은닉층에 들어가는 것을 나타내는 화살표 (Whx) 은닉층(ht).. 2022. 5. 13.