Receptive Field는 신경망의 특정 레이어에서 뉴런이 "보고" 반응할 수 있는 입력 데이터의 영역을 의미합니다. 다시 말해, 컨볼루션 신경망(CNN)에서 한 뉴런의 receptive field는 해당 뉴런의 출력값에 영향을 주는 입력 이미지의 부분입니다. 이 개념은 시각적 맥락에서 특히 중요하며, 네트워크가 얼마나 넓은 범위의 입력 정보를 한 번에 처리할 수 있는지를 나타냅니다.Receptive Field의 중요성정보의 범위 이해: 한 뉴런이 입력 이미지의 어느 부분을 "보고" 있는지 이해함으로써, 해당 레이어가 어떤 종류의 정보를 처리하고 있는지 파악할 수 있습니다. 예를 들어, 초기 레이어의 뉴런은 작은 영역의 간단한 특징(선, 가장자리 등)을 인식하는 반면, 네트워크가 깊어질수록 뉴런의 r..
3x3 컨볼루션 커널을 사용하는 것은 컨볼루션 신경망(CNN) 설계에서 매우 일반적인 선택입니다. 이 크기는 계산 효율성, 성능, 그리고 네트워크 깊이의 균형을 잘 맞추는 데 유리하기 때문에 널리 사용됩니다. 아래에서는 3x3 컨볼루션 커널의 사용 이유를 몇 가지 관점에서 설명합니다:1. 효율적인 정보 처리3x3 컨볼루션은 이미지의 지역적 특징을 효과적으로 추출할 수 있는 충분한 크기를 제공합니다. 1x1 커널은 주변 정보를 고려하지 않고, 5x5 이상의 큰 커널은 불필요하게 많은 정보를 처리하며 매개변수 수가 급격히 증가합니다. 반면, 3x3 커널은 주변 픽셀과의 관계를 효과적으로 포착하면서도 매개변수의 수를 상대적으로 적게 유지합니다.2. 매개변수와 계산 효율성3x3 컨볼루션은 5x5 컨볼루션과 비교..
비전 분야에서는 전통적인 MLP (MultiLayer Perceptron) 모델이 갖는 몇 가지 한계로 인해 주로 CNN (Convolutional Neural Network)이 널리 사용됩니다. MLP와 CNN은 모두 딥러닝 모델의 유형이지만, 이미지와 같은 고차원 데이터를 처리할 때 CNN이 더 적합한 구조를 가지고 있습니다.MLP의 한계MLP는 이미지와 같은 고차원 데이터를 처리할 때 몇 가지 제약이 있습니다:데이터의 공간 구조 무시: MLP는 입력 데이터를 일렬로 펼쳐야 하기 때문에 (Flatten), 이미지의 공간적인 정보가 손실됩니다. 이로 인해 이미지 내의 로컬 패턴과 구조를 학습하는 데 비효율적일 수 있습니다.매개변수의 수: 이미지를 일렬로 펼치면 매우 많은 수의 입력 특성이 생성됩니다. ..
메모리 사용량을 줄이기 위해 다음과 같은 추가적인 방법들을 시도해 볼 수 있습니다. 특히, 현재 실행 중인 프로세스와 사용 중인 애플리케이션을 구체적으로 살펴보면서 메모리 사용량을 최적화하는 방법을 찾아야 합니다.1. 현재 메모리 사용량 분석1.1. 프로세스별 메모리 사용량 확인htop이나 top 명령어를 사용하여 메모리를 많이 사용하는 프로세스를 찾아내고, 불필요한 프로세스를 종료합니다.htop# ortop1.2. 메모리 사용량 상세 분석smem 도구를 사용하여 프로세스별 메모리 사용량을 자세히 분석할 수 있습니다.sudo apt-get install smemsmem -t -k2. 메모리 사용량 최적화2.1. 데이터 로드 및 전처리 최적화데이터셋을 한 번에 모두 메모리에 로드하지 않고, 배치 단위로 로..
root@instance-9263:~# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 43 bits physical, 48 bits virtual CPU(s): 48 (논리적 코어)On-line CPU(s) list: 0-47 Thread(s) per core: 2 (하이퍼스레 지, 2개의 thread로 동작)Core(..
1. vscode에서 Ctrl + ~ : bash창에서 graphviz 설치apt-get install graphviz2. 다음 코드 실행import torchimport torchvision.models as modelsimport torchviz# 모델과 입력 데이터를 같은 디바이스로 이동device = torch.device("cuda" if torch.cuda.is_available() else "cpu")model = models.resnet18().to(device)x = torch.randn(1, 3, 224, 224).to(device).requires_grad_(True)# 모델 실행y = model(x)# 계산 그래프 시각화dot = torchviz.make_dot(y, params=d..
https://github.com/TylerYep/torchinfopip install torchinfoAlternatively, via conda: conda install -c conda-forge torchinfoHow To Usefrom torchinfo import summarysummary(model, input_size=(1, 3, 224, 224)) 출력결과:========================================================================================== Layer (type:depth-idx) Output Shape Param # ======================..
Class Activation Mapping (CAM)원리: CAM은 CNN의 마지막 컨볼루션 레이어에서 생성된 특성 맵에 대해 GAP을 적용한 후, 특정 클래스의 예측에 대한 가중치를 곱하여 시각화합니다. 이 기술은 네트워크가 이미지의 어느 부분을 주목하며 해당 클래스를 예측했는지를 보여줍니다.사용 조건: CAM을 적용하기 위해서는 모델 아키텍처가 매우 특정해야 합니다. 즉, 마지막 컨볼루션 레이어 다음에 바로 GAP이 와야 하며, 그 다음에는 각 클래스에 대한 선형 레이어(로지스틱 회귀)가 위치해야 합니다.Gradient-weighted Class Activation Mapping (Grad-CAM)원리: Grad-CAM은 CAM을 일반화한 형태로, 어떤 CNN 아키텍처에도 적용할 수 있습니다. Gr..
- Total
- Today
- Yesterday
- Github
- Transformer
- PEFT
- English
- RAG
- speaking
- cnn
- 코딩테스트
- #패스트캠퍼스 #UpstageAILab #Upstage #부트캠프 #AI #데이터분석 #데이터사이언스 #무료교육 #국비지원 #국비지원취업 #데이터분석취업 등
- Array
- 해시
- 파이썬
- Lora
- git
- clustering
- t5
- #패스트캠퍼스 #패스트캠퍼스ai부트캠프 #업스테이지패스트캠퍼스 #upstageailab#국비지원 #패스트캠퍼스업스테이지에이아이랩#패스트캠퍼스업스테이지부트캠프
- Hugging Face
- 리스트
- LLM
- recursion #재귀 #자료구조 # 알고리즘
- nlp
- LIST
- Numpy
- classification
- 티스토리챌린지
- 오블완
- #패스트캠퍼스 #패스트캠퍼스AI부트캠프 #업스테이지패스트캠퍼스 #UpstageAILab#국비지원 #패스트캠퍼스업스테이지에이아이랩#패스트캠퍼스업스테이지부트캠프
- Python
- 손실함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |