전체 글 72

Atrous Convolution 개념, 설명, 정리

Atrous Convolution(또는 Dilated Convolution)은 컨볼루션 레이어에서 특정 픽셀 간의 간격을 둔 필터를 사용하는 기술로, 컨볼루션 네트워크(Convolutional Neural Network, CNN)에서 피처 맵의 크기를 확장하면서도 계산 효율성을 유지하는 데 사용됨. 다시 얘기하면, 일반적인 Convolution Layer와 달리, Atrous Convolution 은 dilated 개념이 적용된 합성곱 연산으로 볼 수 있음. atrous = a trous (구멍이 있는)의 의미와 같게, convolution의 각 커널 사이에 1칸씩 구멍이 있는 것을 의미함. (일반적인 convolution layer의 dilation은 1이지만, Atrous Convolution의 di..

Deep Learning 2023.12.15

UNET 구조, 설명

UNET(United Encoder-Decoder Networks)은 주로 이미지 분할, 세그멘테이션, 객체인식 등에 사용되는 딥러닝 모델중 하나임. 이미지의 각 픽셀을 해당하는 클래스나 세그멘테이션 마스크로 할당하는 작업에 적합하며, 2015년 소개된 이후 이미지 세그맨테이션 분야에서 많이 활용되고 있음. UNET 특징은 아래와 같음. Encoder-Decoder 구조 UNET은 대칭구조의 Encoder와 Decoder로 구성 Encoder : 이미지의 공간적 계층 구조를 추출하여 저차원 임베딩으로 변환 Decoder : 저차원 임베딩을 사용하여 입력 이미지의 공간적 구조를 복원하고, 원래 입력의 크기와 동일한 크기의 세그멘테이션 맵 생성 Skip Connections UNET은 각 인코더 레이어와 디..

Deep Learning 2023.12.12

편향(Bias)와 분산(Variance) 개념 정리

편향과 분산은 머신러닝에서 모델의 성능을 설명하는 중요한 개념임. 이 두 요소는 모델의 복잡성과 일반화 성능간의 상충관계(Trade-off) 관계를 가짐. 편향과 분산이 헷갈리는 용어, 개념이여서 정리하고자 함. 편향(Bias) 모델의 편향은 모델이 주어진 데이터에 대해 얼마나 정확한 예측을 하는지에 대한 정도임. 높은 편향은 모델이 너무 간단하거나 제한적이어서, 주어진 데이터 패턴을 충분히 학습하지 못할 수 있음을 의미함. 높은 편향은 과소적합(Under Fitting)으로 표현되며, 학습데이터에 대한 성능이 낮을 수 있음. 분산(Variance) 모델의 분산은 모델이 학습 데이터에 얼마나 민감한지를 나타냄. 높은 분산은 모델이 주어진 학습 데이터에 지나치게 민감하여 노이즈까지 학습할 수 있음을 의미함..

Deep Learning 2023.12.11

상관분석(Correlation)

Correlation은 2개의 Continuous Variables 간의 선형적 관계를 분석하는 것으로, 선형적 관계는 비례식이 성립되는 관계임.(A 변수가 증가할 때, B 변수가 같이 증가하면 양의 상관관계에 있음을 의미함.) 상관계수는 아래와 같은 방법을 사용함. (일반적으로 Pearson 상관계수 사용) Pearson Correlation Coefficient : 모수적 방법으로, 값은 -1.0 ~ +1.0 범위에 존재함. 1은 완벽한 양의 상관관계, -1은 완벽한 음의 상관관계, 0은 선형관계가 없음을 의미함. Spearman Correlation Coefficient : 변수간 단조관계를 측정하는 비모수적 방법. 즉, 선형이 아닌 모든 종류의 관계를 감지함. 계산식이 복잡하지만, 각 변수의 순위..

Representation Learning

표현 학습(Representation Learning)은 기계 학습의 한 분야로, 원시 데이터를 더 유용하거나 의미 있는 형태로 변환하는 과정임. 주로 고차원이고 복잡한 데이터를 저차원이면서유용한 형태의 데이터로 변환하는 과정을 포함 표현 학습의 목표는 원시 데이터로부터 더 유용한 특징이나 속성을 추출하여 해당 데이터에 내재된 패턴이나 구조를 더 잘 파악할 수 있도록 하는 것임 Representation Learning은 지도 학습과 비지도 학습 모두에 적용될 수 있음. 활용 사례 Feature Extraction : 이미지, 텍스트 또는 음성과 같은 데이터에서 의미있는 특징을 추출하여 해당 데이터의 표현을 개선 Auto Encoder : 인코더와 디코더로 구성되며, 입력을 저차원의 표현으로 압축하고 다..

Deep Learning 2023.12.01

PlexusNet: A neural network architectural concept for medical image classification

최신 합성곱 신경망 모델은 의료 영상에서 광범위하게 사용되어 다양한 임상 문제에 대응하고 있지만, 이러한 모델의 복잡성과 규모는 의료 영상에서 정당화되지 않을 수 있으며, 사용 가능한 자원 예산에 따라 다름 Feature map의 수를 증가시키면 분류 작업에 대한 모델 설명력이 감소하고, 현재의 데이터 정규화 방법은 모델 개발 전에 고정되어 있으며 데이터 도메인의 명시를 무시하는 문제가 있음. 이러한 문제를 고려하여, PlexusNet이라는 새로운 확장 가능한 모델을 제안함. PlexusNet의 구조는 네트워크의 깊이, 너비 및 분기에 따라 조절되는 블록 아키텍처와 모델 스케일링을 포함하고 있음. PlexusNet은 더 나은 데이터 일반화를 위한 새로운 학습 가능한 데이터 정규화 알고리즘을 포함하고 있음..

Streamlit (파이썬 웹기반 시각화툴)

Streamlit은 데이터 과학 및 웹 애플리케이션을 빠르고 쉽게 개발할 수 있도록 도와주는 Python 라이브러리로, Streamlit을 사용하면 사용자 인터페이스(UI)를 생성하고 데이터 시각화 및 분석을 손쉽게 구축할 수 있음. 주요 특징 간편한 사용: Streamlit은 간단하고 직관적인 문법을 제공하여 사용자가 쉽게 웹 애플리케이션을 구축할 수 있음. 실시간 업데이트: 코드를 수정하면 자동으로 앱이 업데이트되므로 개발자는 반복적인 작업을 최소화하고 결과를 빠르게 확인할 수 있음. 대화형 위젯 제공: 사용자 인터페이스를 만들기 위해 다양한 위젯을 사용할 수 있고, 버튼, 슬라이더, 체크박스 등을 통해 사용자와 상호 작용할 수 있음. 데이터 시각화: Matplotlib, Plotly, Altair ..

Python Code 2023.11.14

이미지 전이학습(Image Transfer learning) 패키지 Timm

이미지 데이터 수가 많지 않을 때, 적은 데이터로 모델을 학습시키기 어렵기 때문에, ImageNet과 같은 대량의 데이터로 사전학습 되어있는 모델을 import 해서 모델을 학습시키는 경우가 많다. Torchvision 의 models 내에 있는 사전학습 모델들을 활용해도 좋지만, 생각보다 모델 종류가 많지 않다. Torchvision models list (링크 : https://pytorch.org/vision/0.9/models.html) AlexNet, VGG, ResNet, SqueezeNet, DenseNet, Inception-v3, GoogLeNet, ShuffleNet-v2, MobileNet-V2, MobileNet-V3, ResNeXt, Wide ResNet, MNASNet 최근에 알..

Deep Learning 2023.11.03