본문 바로가기
728x90
반응형

Data Science/Deep Learning32

Face Detection 의 역사 및 응용코드 Face Detection Model의 역사 1. Viola Jones Algorithm : 처음으로 상업적으로 사용된 모델이자, 빠른 속도와 정확도를 가짐. 다만, 노이즈가 있거나 정면을 보고 있지 않은 모델에서는 오류가 많이 발생함 2. Histogram of Oriented Gradients(HOG) : 이미지를 그리드 형태로 나눠서, 그리드별 Gradient를 계산하여 히스토그램을 생성함. 이 피처들을 바탕으로 선형분류기(SVM)을 사용하여 얼굴(1) 얼굴아님(0)을 분류함. 일반적으로 Haar Cascade로 많이 알려져 있음 이후, 딥러닝을 적용한 기법들이 등장하며 기존 1,2번의 한계를 뛰어넘는 방법들이 고안됨 3. SSD : Dlib의 HOG 보다 느리지만, 측면/가려진 이미지 등 다양한 .. 2023. 1. 25.
model.fc.in_features 의미 Resnet18을 활용한 코드를 공부하다가 나온 self.model.fc.in_features 의 의미를 찾아봤습니다. class Network(nn.Module): def __init__(self,num_classes=136): super().__init__() self.model_name='resnet18' self.model=models.resnet18() self.model.conv1=nn.Conv2d(1, 64, kernel_size=7, stride=2, padding=3, bias=False) self.model.fc=nn.Linear(self.model.fc.in_features, num_classes) def forward(self, x): x=self.model(x) return x 여.. 2023. 1. 23.
OpenAI DALLE2 사용 후기 (Midjourney와 비교) 2022.12.29 - [Data Science] - 30초만에 예술작품을 만드는 AI (MidJourney) 요새 이미지 생성 AI에 빠져서 이것저것 시도하고 있는데요. 이번에는 오픈 AI의 DALLE2를 사용해봤습니다 :) ChatGPT를 사용하면서 OpenAI의 작품에 대한 기대가 컸는데요. DALLE2 역시 초기에 무료로 사용할 수 있는 시도 횟수가 한정적이지만 실험을 위해 몇개를 시도해봤습니다. 이번에 검은 토끼의 해를 기념해 검은 토끼 관련 이미지를 해봤습니다. BLACK RABBIT WITH PEOPLE SURROUNDED WITH DIFFERENT EMOTION 이런식으로 해서 그런가 사람 이미지가 뭉개져서 나왔습니다. REALISTIC과 FURRY 라는 이미지를 추가해서 그런지 털 자체는.. 2023. 1. 14.
경사하강법 Python 파이썬 코드로 구현하기 딥러닝을 배우면 정말 지긋지긋하게 나오는 경사하강법입니다. 좀 제대로 머리에 경사하강법 원리를 익히기 위해 여러 소스를 참고해서 파이썬 코드를 작성했습니다. import numpy as np import matplotlib as plt def function(x1, x2): #손실함수 임의로 정의 return 0.5*x1**2 + (5/2)*x2**2 - x1*x2 - 2*(x1 + x2) def gradient(x1, x2): #각 값에 대한 미분식 제시 return np.array([-2 + x1 - x2, -2 - x1 + 5*x2]) x1 = 2 #x1, x2를 임의 값으로 설정 x2= 1 lr = 0.1 # step size (learning rate, 실험을 위해 크게 설정함) precisio.. 2023. 1. 13.
1*1 합성곱층 (Convolution layer) 원리 및 목적 설명 😮 등장 배경 일반적으로 신경망이 깊어 질수록 풀링을 통해 레이어의 층 면적은(가로,세로) 줄어들더라도, 층의 깊이(피처맵의 수)는 늘어나게 됩니다. (VGG16그림 참조) 이때 5*5, 7*7같은 큰 필터까지 사용하게 되면 연산해야 하는 파라미터의 수를 급격히 증가하게 되고, 이는 곧 "비싼연산 비용 " 라는 문제를 발생시켰습니다. *CNN에서 파라미터 수 계산식: (filter.width*filter.height*이전 레이어층 수 +1)*필터의 수 (각 w*h*c 수식의 3번째값을 따라보다보면 64->128->256->512 이런식으로 깊이가 늘어나는 것을 볼 수 있습니다) 그래서 어떻게 하면 CNN의 층이 깊이 구현하면서 Computational cost를 획기적으로 줄일 수 있을까?라는 질문에서 .. 2022. 12. 22.
Residual Block 개념 및 목적 정리 (feat.ResNet)😎 ResNet(Residual Network)에 등장하는 Residual Block 의 개념과 왜 'Residual Block'을 사용하는지 알아보겠습니다. 1. Residual Block이란? [Residual Block 등장 배경] 연구자들은 신경망의 층이 깊어질수록 얕은 신경망보다 성능이 뒤떨어진다는 사실을 발견했습니다. (아래 그래프처럼 layer이 더 많은 모델이 training error가 훨씬 심각함을 알 수 있습니다.) 이론적으로는 층이 깊을 수록 성능이 더 좋아진다고 생각했으나, 실상은 그렇지 않았던 것이죠. 그래서 층이 깊어지더라도 앞서 학습한 층들의 정보를 잃지 않으며 성능을 높이기 위해 제시된게 Residual Block 입니다. 다른 자료를 보니 Residual block을 "ski.. 2022. 12. 21.
728x90
반응형