분류 전체보기 72

비전 트랜스포머(Vision Transformer, ViT) 개념, 설명

비전 트랜스포머 모델은 기존의 컨볼루션 신경망(Convolutional Neural Network, CNN) 아키텍처 대신에 트랜스포머의 셀프 어텐션(Self-Attention) 메커니즘을 사용하여 이미지를 처리하는 모델임. 특징 트랜스포머 구조 적용: 비전 트랜스포머는 트랜스포머 아키텍처와 유사한 구조를 사용. 이미지를 처리하기 위해 2D 그리드로 나타낸 후, 각 위치의 정보를 셀프 어텐션으로 처리하며, 이를 통해 이미지 내의 전역 및 지역적인 패턴을 파악할 수 있음. 패치 표현: 이미지는 작은 패치(patch)로 나뉘어 표현되는데, 패치는 1D 벡터로 펼쳐진 후, 트랜스포머의 입력값으로 사용함. 이렇게 사용하면 이미지의 공간 정보(Spatial Information)가 유지되면서 효율적인 처리가 가능..

Deep Learning 2023.10.10

트랜스포머(Transformer) 개념, 설명

트랜스포머는 2017년 구글에서 발표한 논문임. (원문 : Attention in all you need (https://arxiv.org/pdf/1706.03762.pdf) 트랜스포머 모델은 기존 RNN 구조(seq-to-seq )인 Encoder-Decoder 구조를 유지하면서 어텐션을 구현한 모델임. RNN 구조의 한계 RNN 기반 모델은 인코더에서 입력값을 하나의 벡터로 만들고, 디코더에서 벡터를 통해 출력값 시퀀스를 만들어내는 구조임. 인코더에서 입력시퀀스를 벡터로 압축할 때, 정보의 Loss가 발생할 수 있음. 장기 의존성 처리가 어렵고 입력/출력 길이가 고정되어 있음. 병렬화가 가능은 하지만, 제한되어 있음. (인코더와 디코더를 연결하기 위한 추가연산이 필요함) 이러한 문제점과 한계를 극복하..

Deep Learning 2023.10.09

의료에서의 컴퓨터 비전(Computer vision in Medical)

2021년, Nature Digital Medicine에 올라온 논문으로, 딥러닝이 의료에서의 컴퓨터 비전을 가능하게 한다는 내용임. 상단 a : 다중 모달 판별 모델. 딥 러닝 구조는 일반적으로 합성곱 신경망을 사용하여 이미지 데이터와 함께 일반적인 딥 네트워크를 사용하여 이미지가 아닌 데이터로부터 동시에 학습할 수 있으며, 질병 진단, 예후 예측, 임상 예측 등의 조합이 포함될 수 있다. 하단 b : 생성 모델. 합성곱 신경망은 이미지를 생성하기 위해 훈련될 수 있으며, 작업에는 이미지 간 회귀(그림에서 표시됨), 초고해상도 이미지 개선, 신규 이미지 생성 및 기타 작업이 포함됨. 객체 분류, 위치 지정 및 감지는 각각 이미지 내 개체의 유형 식별, 존재하는 객체의 위치 및 유형 및 위치를 동시에 식..

PPG(Photoplethysmography) 광용적맥파 정리

PPG(Photoplethysmography)는 빛을 사용하여 혈액의 운반과 관련된 생리적인 정보를 측정하는 비침습적인 생체 측정하는 방법 주로 손가락 끝이나 귀 등의 부위에 센서를 부착하여 사용하며, PPG는 주로 다음과 같은 정보를 측정하고 모니터링하는 데 사용됨. 심박수 측정: PPG는 맥박을 측정하는 데 가장 널리 사용됩니다. 센서가 피부에 빛을 쏴서 흡수되는 양을 측정함으로써 맥박의 뛰는 속도를 계산함. 혈압 추정: PPG 신호를 통해 수축과 이완 기간의 변화를 감지하여 혈압을 추정하는 데 사용할 수 있음. 산소 포화도 측정: PPG는 혈액 내의 산소 포화도(SpO2)를 측정하는 데 사용함. 이것은 혈액 내의 산소의 양을 백분율로 표시한 값으로, 산소포화도가 낮아지면 산소 부족으로 인한 문제가 ..

Gradient clipping

그래디언트 클리핑(Gradient Clipping)은 딥러닝 모델을 학습할 때 그래디언트 값의 폭발적인 증가를 방지하기 위한 기법임. 위 그림의 original gradient를 보면 목표 minimum 을 넘어가는 것을 볼 수있는데, 이때 gradient 값에 특정 cut-off의 제한을 줘서 안정적으로 수렴시키는 방법임. 특히 순환 신경망 (Recurrent Neural Networks, RNN)과 같은 모델에서 주로 사용되는데, sequence 가 길어지면 gradient가 계속 곱해지기 때문에 기하급수적으로 증가할 수 있음. (모델 Layer가 깊어져도 마찬가지임) Gradient Exploding(그래디언트 폭발)은 가중치 업데이트 과정에서 그래디언트 값이 너무 커져 모델의 가중치가 불안정해지고..

Deep Learning 2023.10.06

Internal Covariate Shift와 Batch Normalization

Internal Covariate Shift는 Deep learning Network의 depth 가 증가하면서 학습 과정에서 발생하는 문제 중 하나로, 내부적인 데이터 분포 변화 현상 좀 더 자세히는, 학습 과정에서 계층별로 입력 데이터의 분포가 달라지는 현상이다. (Deep Neural Network 에서는 각 레이어의 가중치 업데이트가 이전 레이어의 출력에 의존하는 경우가 많음) 이로 인해 학습 초기 단계에서는 네트워크의 중간 레이어에서 출력 분포가 크게 변할 수 있는데, 이러한 현상이 Internal Covariate Shift의 핵심 개념이다. Internal Covariate Shift로 인한 문제 학습 속도 저하 (Slow Training): 내부 공변량 변화로 인해 각 레이어의 가중치 업데..

Deep Learning 2023.10.02

opencv

opencv(Open Source Computer Vision) 는 인텔에서 개발한 패키지로, Computer Vision 을 위한 딥러닝에 활용하는 이미지, 영상 데이터를 read, preprocessing 하는데 사용된다. 선을 따는 line detection 부터 객체 인식(object detection), 추적, 카메라 보정, 특징 추출(feature extraction) 등이 가능하다. 최근에는 자율주행뿐만 아니라, 객체 인식을 통한 딥러닝 모델에 많이 활용되고 있다. CT, MRI 등 Image processing 과 DL 모델 개발을 위해서는 필수적으로 알아야 할 Library이므로, 앞으로 꾸준히 공부가 필요할 듯 하다. Image Read import cv2 # Image Read (RG..

Deep Learning 2023.10.02

seq-to-seq

Seq2Seq(Sequence to Sequence) 는 시퀀스를 입력받아 다음 시퀀스를 예측하는 모델로, NLP 분야에서 많이 사용됨 시퀀스가 문장이라면 각각의 아이템은 단어를 나타내고, 동영상이라면 프레임 별 이미지이며, 입력과 출력이 길이가 같을 필요는 없음 Seq2Seq 모델은 크게 인코더(Encoder)와 디코더(Decoder)가 연결된 구조이며, 인코더는 입력한 시퀀스의 정보 압축해서 Context vector를 만들고, 디코더는 이 정보를 받아서 출력하는 역할임. import torch import torch.nn as nn import torch.optim as optim import random # 하이퍼파라미터 설정 input_size = 10 output_size = 10 hidden..

Deep Learning 2023.09.26

Docker 자주 쓰는 명령어 정리

도커(Docker)는 컨테이너 기반 가상화 기술을 사용하여 애플리케이션을 개발, 배포 및 실행하기 위한 오픈 소스 플랫폼 도커 컨테이너는 애플리케이션과 해당 종속성을 격리된 환경에 패키징하고, 이를 통해 앱을 어디서든 일관되게 실행할 수 있게 함. 이미지(Image): 도커 컨테이너를 만들기 위한 읽기 전용 템플릿. 이미지는 애플리케이션 코드, 런타임, 라이브러리 및 종속성을 포함 컨테이너(Container): 이미지를 실행할 수 있는 격리된 환경. 컨테이너는 이미지의 인스턴스로, 애플리케이션을 실행하는 데 필요한 모든 것을 포함 도커 레지스트리(Docker Registry): 도커 이미지를 저장하고 공유하는 중앙 저장소. Docker Hub는 가장 널리 사용되는 도커 레지스트리 중 하나임 자주 사용하는..

Python Code 2023.09.23