노트북 C-type 이어폰 인식 불가 문제 해결
·
기타
C-type 이어폰을 꽂았는데 노트북/컴퓨터에 인식되지 않는 문제가 발생했다. 입력은 잡히는데 출력이 안잡힌다.    [장치관리자] - [사운드, 비디오 및 게임 컨트롤러] -  USB 오디오용 인텔 스마트 사운드 기술 (좌클릭 후 디바이스 사용 안함 설정!!)  이후, 이어폰을 뺐다 꽂으니 [장치관리자] - [사운드, 비디오 및 게임 컨트롤러] - Samsung USB C Earphones가 새로 생기고, 출력에 USB C Earphone이 잡힌다.
RNN: Backpropagation
·
딥러닝
RNNRNN의 Backpropagation에서의 Gradient Vanishing/Exploding 문제에 관해 정리한 글입니다.Gradient Vanishing RNN은 $h_t = tanh(w_{xh}x_t+w_{hh}h_{t-1}), y_t = g(w_{hy}h_t)$ 로 나타낼 수 있다. 여기서 학습해야 하는 파라미터는 $w_{xh}, w_{hh}, w_{hy}$ 세가지 이다. 세 가중치는 매 시점에서 각각 동일한 값을 갖는다. $w_{xh}$와 $w_{hh}$의 gradient를 구해보면 다음과 같다. $w$의 gradient는 매 시점에서의 $w$가 Loss에 미치는 영향을 합산한 결과이다.   이 때, $h_t$는 $tanh()$이며, 도함수는 (0,1] 범위 안에 존재한다. 따라서, RNN..
Weight Initialization
·
Stanford CS231n
Stanford에서 강의하는 CS231n에 대해서 공부하고 정리한 글입니다.Slide: PowerPoint Presentation 이번 정리는 CS231n 2017년도 강의 Lecture 6: Training Neural Networks 1 의 Weight Initialization 부분을 조금 더 정리해보고자 작성하였습니다.  강의 자료는 2024년도 CS231n 강의 Lecture 6 (Part 2): Training Neural Networks를 사용하였습니다.  우리가 처음 어떤 네트워크에 대해 설계했다고 해보자. 그렇다면, 이 모델을 학습시키기 위한 초기값들을 세팅해주어야 한다. 우리는 모델의 파라미터 $w$의 초기값을 설정해줘야 한다.  첫 번째 Idea는 $w$를 랜덤한 작은 값들로 세팅해보..
Lecture 10: Recurrent Neural Networks
·
Stanford CS231n
Stanford에서 강의하는 CS231n에 대해서 공부하고 정리한 글입니다.Slide: cs231n_2017_lecture10.pdfRecurrent Neural Networks Machine Learning의 관점에서 생각해보면, 모델이 다양한 입력을 처리할 수 있도록 유연해질 필요가 있다. 이러한 관점에서 RNN(Recurrent Neural Network)는 다양한 입/출력을 다룰 수 있는 장점이 있다. RNN에는 one to one, one to many, many to one, many to many 의 여러 입/출력을 다룰 수 있는 네트워크들이 존재한다. one to many는 Image Captioning과 같이, 입력이 이미지이고, 출력이 Sequence of words일 때 유용하다. m..
Lecture 9: CNN Architectures
·
Stanford CS231n
Stanford에서 강의하는 CS231n에 대해서 공부하고 정리한 글입니다.Slide: cs231n_2017_lecture9.pdfCase StudyAlexNet AlexNet의 아키텍처는 다음과 같다. (conv - pool - normalization) 구조가 두 번 반복되고, conv 3,4,5, pool, fc 6,7,8 로 구성된다. 첫 번째 레이어에서 입력이 227 x 227 x 3 이고, 96개의 11 x 11 filter, stride 4 일 때 출력 사이즈는 55 x 55 x 96 이다. 그렇다면, 첫 번째 레이어에서 파라미터 개수는 어떻게 될까?  첫 번째 레이어(Conv)의 파라미터 개수는 어떻게 될까? Conv의 파라미터는 필터를 생각해보면 된다. 우리는 11 x 11 x 3 크기의..
Lecture 7: Training Neural Networks 2
·
Stanford CS231n
Stanford에서 강의하는 CS231n에 대해서 공부하고 정리한 글입니다.Slide: cs231n_2017_lecture7.pdfOptimizationSGD   우리가 지금까지 배운 최적화 기법은 GD, SGD 가 있다. SGD는 Mini batch 단위로 data loss를 계산하여 gradient를 업데이트하는 방법이다. 하지만, SGD 알고리즘에는 몇가지 문제점이 존재한다. 고 차원의 공간에서 Loss는 지그재그로 지저분하게(nasty) 움직인다.$w_1$과 $w_2$가 있다고 가정해보자. 둘 중 어떤 하나는 gradient가 작고, 하나는 gradient가 클 때 그림과 같이 loss가 움직이게 된다. 즉, 수평 축의 가중치가 변해도 loss가 천천히 줄어들고, 수직 축의 가중치의 변화엔 민감하..
Lecture 6: Training Neural Networks 1
·
Stanford CS231n
Stanford에서 강의하는 CS231n에 대해서 공부하고 정리한 글입니다.Slide: cs231n_2017_lecture6.pdfActivation Functions Activation Function은 여러 종류가 있다.  이번 시간은 다양한 종류의 활성화 함수와 Trade-off 에 대해 다뤄본다.  Sigmoid 함수는 다음과 같다. Sigmoid는 출력의 범위가 [0, 1] 이며, 역사적으로 많이 사용된 활성화 함수중 하나이다. $$\sigma = 1/(1+e^{(-x)})$$ 그러나, Sigmoid는 몇가지 문제가 존재한다. 1) Saturation 현상이 일어난다.우리는 Backpropagation을 통해 Gradient를 구해 나갈 수 있다. Sigmoid 의 Gradient는  $$ \f..
Lecture 5: Image Classification with CNNS
·
Stanford CS231n
Stanford에서 강의하는 CS231n에 대해서 공부하고 정리한 글입니다.Slide: cs231n_2017_lecture5.pdfConvolutional Neural NetworksFully Connected Layer vs Convolution LayerFully Connected Layer와 Convolution Layer를 비교해보자. FC Layer는 모든 입력이 결과에 영향을 미친다. [32, 32, 3] 크기의 이미지가 존재한다면, 이를 [3072, 1] 크기의 벡터로 펼칠 수 있고 [10, 3072] 의 가중치 벡터를 만들어 가중합하여 [10, 1] 크기의 벡터를 만들 수 있다. 이는 [32, 32, 3] 이미지를 10개의 클래스로 학습한 것이다.  반면, Convolution Layer는..
Lecture 4: Backpropagation and Neural Networks
·
Stanford CS231n
Stanford에서 강의하는 CS231n에 대해서 공부하고 정리한 글입니다.Slide: cs231n_2017_lecture4.pdfWhat we want..우리는 지난시간 raw data로부터 class score를 구하는 scores function, function이 얼마나 구린지를 정량화할 수 있는 SVM loss, 분류기를 일반화 할 수 있는 regularization 에 대해 배웠다.그렇다면, 최적의 loss를 찾기 위해 파라미터 $w$를 찾는 방법을 알아보자.Optimization최적의 $w$에 관한 gradient를 찾는 것은 Optimization을 사용해서 구할 수 있다.이는 gradient가 음수인 방향(경사가 하강하는 방향)을 반복적으로 구해 최적의(가장 낮은) loss에 도달하는 방..
Lecture 3: Loss Functions and Optimization
·
Stanford CS231n
Stanford에서 강의하는 CS231n에 대해서 공부하고 정리한 글입니다.Slide: cs231n_2017_lecture3.pdfLoss Functionloss function은 현재 classifier가 얼마나 좋은지 알려주는 함수이다.$x_i$ 는 입력 이미지, $y_i$는 정답이다. 최종 Loss는 모든 데이터들의 loss 평균으로 구할 수 있다. Multiclass SVM loss예시와 같이 Multi-class의 문제에서는 Multiclass SVM loss 를 사용할 수 있다. $s_j$는 오답 클래스의 예측값이며, $s_(y_i)$는 정답 클래스의 예측값이다. 1은 SVM 에서 설정한 Margin 값이며 어떠한 크기든 상관 없다. 3개의 클래스를 갖는 학습 데이터를 통해 loss를 계산하면..