목록Artificial Intelligence/Deep Learning (4)
완숙의 블로그
[Deep Learning] Convolutional Neural Networks(CNN) - Types of Layer in a CNN Types of Layer in a CNN Convolution여태껏 배운 합성곱을 사용하여 다음 레이어를 만드는 방식이다. Pooling Fully connected What is Pooling 결과값을 압축한다! 로 생각하면 이해가 빠르다.이제부터 필터의 수도 많아질 것이고, 사실 input도 상당히 크기 때문에,우리는 이 값들을 특정 방법으로 가중치들을 압축하는 것이 보다 효율적이다.이 방법을 Pooling이라 한다. Max Pooling 이렇게 4 영역으로 나눠서 각 영역의 최대값만을 따오는 방식이다. 이 풀링의 hyperparameter는, s = 2, f =..
Example of a Layer 이제 원래 배웠던 신경망의 노드에서 하는 활동으로 돌아오자. 결국 이 필터는 가중치들의 모임이고, 원래 데이터에서 이 가중치를 곱한다음에 더하는 행위는 한 노드에 이 데이터들이 들어가는 것이다. 하나의 노드에 연결된 많은 노드들에 가중치를 곱하고 다 더한다음에 우리는 뭘했었지? Activation Function에다가 이 값을 넣고 출력값을 얻었다. 이걸 시각화 해보면! 이렇게 된다. 원래 각각의 노드에 대해 Bias 항이 생긴다고 알았던 것과 달리 구현을 위해서는 출력에 대해 같은 Bias를 더해주는 것이 효율적이다. 이 연산의 결과로 우리는 4 x 4 x 2 를 얻을 수 있다. 그리고 이 것이 Convolution network의 한 Layer가 된다. 이걸 행렬의 ..
What is Padding Convolution 전 게시물에서 3x3 짜리 필터를 걸었을 때, 4x4짜리가 나왔다. 어떻게 보면 당연할 결과이다. 이미지의 한 변의 크기를 n, 필터의 한 변의 크기를 f라고 한다면, 출력의 한 변의 크기는, 그런데 이렇게 된다면, 위 그림에서 6x6 짜리 행렬의 가장자리에 있는 픽셀들은 중간에 있는 픽셀보다 적은 횟수로 필터가 걸린다. 즉 데이터의 손실이 생긴다. 두번째로는 이미지가 축소 된다는 단점이 있다. 내가 원하는 이런 결과가 나오기 위해서는 어떤 조치를 취해줘야한다. 다음과 같이 6x6 주변에 1짜리 테두리는 덧데어 (PAD) 주면, 해결된다! 이렇게 될때 데이터 손실, 이미지축소의 두가지 단점을 모두 잡을 수 있다. 패딩해주는 값은 0으로 보통 채운다. 내가..
What is convolution 하트시그널을 봤다. 그 무엇보다도 치열한(..) 구애 행위와 두뇌게임을 봤다. 잡소리는 여기까지 하고. 내가 누군가한테 구애 행위를 하는 것은 구애 받는 사람의 상태에 따라 YES, 혹은 NO가 나올 거다. 이렇게 우리는 항상 누군가와 상호작용을 하고, 그 결과에 관심이 있다. 여기서 구애하는 사람이 하는 행위를 Signal 구애 받는 사람의 상태를 System 그리고 이 두가지의 상호작용을 통한 결과를 도출하는 것을 Convolution 이라 한다. EXAMLPLE 난로가 있다. 이 난로는 처음에 많이 따뜻했다가 점점 열기가 식는다. 이렇게 이번에는 온풍기가 있다. 이 녀석도 처음에는 따뜻한 바람이 나오다가 점점 세기가 줄어든다. 이렇게 특별히 이 녀석은 1초부터 작..