분류 전체보기69 Lec 10-1: CNN - Convolution 연산 딥러닝 공부 17일차 합성곱 신경망(CNN, Convolution Neural Network)는 이미지 처리에 탁월한 성능을 보입니다. 합성곱 신경망은 크게 Convolution Layer(합성곱층) 과 Pooling Layer(풀링층)으로 구성되어있습니다. 합성곱연산이 필요한 이유 앞서 우리가 예제 코드로 해보았던 MNIST 처럼 글자를 분류하고 싶다고 가정해보겠습니다. 아래의 그림은 알파벳 Y를 정자로 쓴 글씨와 휘갈겨 쓴 글씨 두개를 2차원 행렬로 표현한 것입니다. 사람이 보기에는 둘다 y로 보이지만 기계의 입장에서는 각 픽셀마다 가진 값이 거의 상이하므로 완전히 다른값을 가진 입력으로 인식합니다. 이를 다층 퍼셉트론으로 분류한다면 이미지를 1차원 백터로 변환하고 입력층으로 사용해야합니다. 이미지를.. 2023. 8. 28. Lec 09-3,4: Dropout & Batch Normalization 딥러닝 공부 15일차 이전에 Overfitting(과적합)을 방지할 수 있는 방법을 소개했었습니다. 다시 몇가지 적어보면 More training data Reduce the number of features Regularization Dropout 과적합을 방지하는 방법 중 하나인 Dropout에 대해서 오늘 공부해보겠습니다. Dropout dropout은 쉽게말하면 매 층마다 어떠한 확률로 일부는 버리고 남은 나머지들로 학습해나가는 것을 말합니다. 즉, 신경망의 일부를 사용하지 않는 방법입니다. 드롭아웃은 신경망 학습시에만 사용하고, 예측시에는 사용하지 않습니다. 학습시에 인공 신경망이 특정 뉴런 또는 특정 조합에 너무 의존적이게 되는 것을 방지해주고, 매번 랜덤 선택으로 뉴런들을 사용하지 않으므로 .. 2023. 8. 27. Vision Transformer(ViT) 공부 및 간단 구현 예제 Vision Transformer (ViT)는 이미지 처리 분야에서 사용되는 트랜스포머 아키텍처에 기반한 모델. 2020년에 Google Research에서 "AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE"이라는 논문을 통해 소개되었습니다. ViT는 주로 자연어 처리에서 매우 성공적이었던 트랜스포머를 이미지 인식에 적용하는 혁신적인 접근법을 제시합니다. ViT의 핵심 아이디어 및 구조는 다음과 같습니다: 이미지 패치: 이미지를 여러 개의 고정 크기 패치로 나눕니다. 예를 들어, 224x224 크기의 이미지를 16x16 크기의 패치로 나누면 14x14=196개의 패치가 생성됩니다. 패치 임베딩: 각 패치를 벡터로 평탄화.. 2023. 8. 20. ResNet 구조를 이용한 AutoEncoder 구현 & 리뷰 Autoencoder(오토인코더) 란? 오토인코더는 딥러닝에서 주로 사용되는 비지도 학습 방법 중 하나입니다. 기본적인 아이디어는 입력 데이터를 압축하여 낮은 차원의 표현으로 만든 뒤, 그 압축된 표현을 사용하여 다시 원래의 입력 데이터를 재구성하는 것입니다. 이해하기 쉽게 예시를 들어보면, 시험공부를 위해 교재를 요약본을 만든다라고 생각해봅시다. 교재(원본이미지) 를 요약해서 만든 아래 중간 사진이 압축된 낮은 차원인 것이고. 이를 가지고 누가 다시 원래의 교재로 복구한다라고 생각해보시면 편하실 것 같습니다. 오토인코더는 주로 두 부분으로 나뉩니다 1. 인코더 (Encoder): 입력 데이터를 받아 압축된 표현 (latent representation 또는 코드)으로 변환합니다. 2. 디코더 (Deco.. 2023. 8. 16. Lec 09-1,2: NonLinear Functions & Weight Initialization 딥러닝 공부 13일차 ReLU function 시그모이드 함수의 문제점 이제 우리는 새로운 함수인 ReLU함수를 배울 것입니다. 배우기 앞서서 새로움 함수가 필요하다는 것은 기존에 쓰던 함수가 맘에 안드는 부분이 있다는 것이겠죠. 지금까지 잘 사용해왔던 시그모이드 함수의 문제점을 살펴보겠습니다. 지금까지 우리는 연산과정에서 인풋데이터를 시그모이드함수를 거쳐 출력을 하게 되었었습니다. 그리고 최적의 가중치와 편향을 찾기위해 역전파방법을 사용하게 되었는데요. 이 역전파방법을 수행함에 있어서, 그림에서 시그모이드함수의 파랑색 박스 부분에서는 미분계수를 구하고 역연산하는 과정에서 문제가 발생하지 않습니다. 하지만 빨간박스테투리부근으로 가면 갈 수록, 미분계수가 0에 가까워지는 현상이 발생하게되고 이는 역전파방법.. 2023. 8. 9. Lec 08-2: MultiLayer Perceptron(MLP) & Backpropagation 딥러닝 공부 12일차 BackPropagation(역전파) 인공 신경망을 열심히 만들고 돌렸는데, 예측값과 실제값이 다를 경우에 우리는 입력값을 다시 조정하여서 적절한 W 와 b 값을 다시 찾아야합니다. 하지만 이런 과정은 결코 쉽지않았고 과거의 DNN의 큰 문제로 남겨져 있었습니다. 하지만 현재, 이러한 문제는 BackPropagation, 역전파라는 방법으로 해결할 수 있습니다. 인공 신경망의 이해(Neural Network Overview) 예제를 위해 사용될 인공신경망입니다. 입력층이 2개, 은닉층이 2개, 출력층이 2개입니다. z는 이전층의 모든 입력이 각각의 가중치와 곱해진 값들의 합을 의미합니다. 이 값은 아직 활성화함수를 거치기 전 상태입니다. 이제 h값을 통해 활성화함수를 거치게 됩니다... 2023. 8. 8. Lec 08-1: Perceptron 딥러닝 공부 11일차 Perceptron(퍼셉트론) 본격적으로 퍼셉트론에 대해서 공부하기 전에, 인공 신경망에 대해서 조금 알아보겠습니다. 신경세포 중 뉴런에서 일어나는 일을 살펴보겠습니다. 뉴런은 신호를 전달 받아서 전달해주는 역할을 합니다. 사진상의 왼쪽부분이 신호를 전달 받는 부분이고 오른쪽 부분이 신호를 전달 해주는 부분입니다. 뉴런은 어떠한 임계치 이하의 값은 전달하지 않고, 임계치 이상의 신호만 전달하는 특징이 있습니다. 이 특징이 이제 배울 퍼셉트론의 주요한 성질로 사용될 것입니다. 기억해주세요~ 결론적으로 퍼셉트론은 다수 입력으로 하나의 결과를 내보내는 알고리즘입니다. 가볍게 입력이 두개인 퍼셉트론입니다. 보통 x를 입력값, y를 출력값이라고 합니다. 그래서 $y=W_{1}x_{1}+W_{.. 2023. 8. 8. Lec 07-3: MNIST Introduction 딥러닝 공부 10일차 MNIST MNIST란? 숫자들에대한 손글씨 데이터셋이라고 보면 됩니다. MNIST 데이터는 아래의 링크에 공개되어져 있습니다. 데이터보러가기 MNIST는 숫자 0부터 9까지의 이미지로 구성된 손글씨 데이터셋입니다. 이 데이터는 과거에 우체국에서 편지의 우편 번호를 인식하기 위해서 만들어진 훈련 데이터입니다. 총 60,000개의 훈련 데이터와 레이블, 총 10,000개의 테스트 데이터와 레이블로 구성되어져 있습니다. 레이블은 0부터 9까지 총 10개입니다. 우선 MNIST 문제를 더 자세히 보겠습니다. 각각의 이미지는 아래와 같이 28 픽셀 × 28 픽셀의 이미지입니다. 28 x 28 = 784픽셀이기 때문에, 각 이미지를 총 784개의 원소를 가진 벡터로 만들어줄겁니다. 784차원.. 2023. 8. 7. 이전 1 ··· 4 5 6 7 8 9 다음 728x90