전체 글(77)
-
딥러닝 - 활성화 함수
활성화 함수는 원하는 최종정답을 위해 가까워지게 도와주는 함수입니다. 다시 말하면, 뉴런을 말그대로 활성화 시켜주는 함수라고 이해하면 좋을 것 같습니다. 즉, 활성화 함수가 단순한 뉴런의 단순한 곱셈의 합이 아닙니다. 어떤 정답의 표현력을 위한 함수이기 때문에 다름 수식이 정해진 함수입니다. 좀 더 활성화함수를 더 깊게 설명하면, 활성화함수는 "선형함수"와 "비선형함수"로 나눠진다. 선형함수는 정리하면 단순한 함수다. 즉, 뭔가 복잡한 계산이 필요없다. 복잡한 계산이 필요없다는 것은 은닉층의 망이 깊어지지 않고, 아무리 깊어지더라도 한개 층의 은닉층으로 신경망 구현이 가능해진다. 또는 망이 깊어지지 않는다는 뜻은 학습데이터가 단순화 된다는 뜻이며, 필요한 연산수가 적어지고.. 학습데이터가 적어 정확한 답..
2021.06.14 -
딥러닝 - 순전파
딥러닝의 순저파에 대해 공부하고 정리해보고자 한다. 순전파시에 각 뉴런에서 일어나는 수식 계산들을 수식화하여 설명해보고자 한다. 만약, 다음과 같은 신경망이 존재한다고 가정하자. 일단 위 신경망을 설명하면, 앞 층의 모든 뉴런은 뒤 층의 모든 뉴런과 연결되어 있다고 가정하고, 반대로 뒤 층의 모든 뉴런이 앞 층의 모든 뉴런과 연결되어 있다고 가정, 그러면 가중치의 개수와 입력의 수가 일치함으로 앞 층 뉴런의 수를 m이라고 한다면 뒤 층 뉴런의 1개는 m개의 가중치를 갖게 됩니다. 즉, 뒤 층 뉴런의 총수를 n이라고 하면 뒤 층에는 m ∗n개의 가중치가 존재하게 됩니다. 1. 그럼 다음과 같이 m * n 행렬은 뒤 층의 모든 가중치를 행렬로 표시가 가능합니다. 또한 앞 층의 출력(= 뒤 층의 입력)은 벡터..
2021.06.14 -
딥러닝 - 뉴런을 모아 네트워크화
위에서 단일 뉴런에 대해서 공부했다. 그럼 딥러닝을 검색해본 사람들이라면 다음과 같은 글미을 많이 보았을 것이다. 단일뉴런을 여러개 묶어서 모은 것이 위와 같은 신경망이 이루어진다. 즉, 여러개의 뉴런을 연결시켜 네트워크를 형성하면 신경망이 구축된다. 입력층 : 전체 신경망의 입력값을 받아들임 은닉층 : 입력층과 출력층 사이에 위치한 층 출력층 : 전체 신경망의 출력값을 내보낸다 입력 값이 들어오면 가중치를 곱하고, 곱한 결과를 동그란 뉴런에서 합하고, 다음 뉴런으로 다시 전달하는 것이다. 이 신경망이 (입력 -> 출력) 순으로 계산이 이루어지면 "순전파" 반대로 계산이 되면 "역전파"라고 하는데 역전파는 다음에 좀 더 자세히 글을 쓰겠다.
2021.06.13 -
딥러닝 - 뉴런
인공지능의 딥러닝 기술에 대해 공부하면서 "신경망"이라는 개념을 무조건 접하게 된다. 신경망이라는 용어는 뉴런이 모여서 하나의 그물을 형성하는 말인데 딥러닝의 기초가 되는 개념이더라... 그래서 관련 내용을 좀 정리를 해보겠다. 생물의 신경세포와 딥러닝에서 사용하는 뉴런의 생김새를 비교해보자. 사람의 신경세포의 전달구조는 시냅스 -> 수상돌기 -> 세포체 -> 축삭 -> 축삭종말 -> 시냅스 순으로 정보를 전달한다. 딥러닝에서 사용하는 단일 뉴런 또한 입력값(x_1,x_2,x_3,………x_n) -> 가중치(w_1,w_2,w_3,………w_n) -> (입력값 x 가중치)의 합 -> 출력 으로 인간의 신경세포를 모방하여 만들어 졌다. 구체적으로, 뉴런에는 다수의 입력이 있고 출력은 하나뿐이고, 각 입력에는 가..
2021.06.13 -
데이터 셋 분석 및 학습 비교(8) - 정리 및 개선
지금까지 실험해본 학습결과를 정리해보자. 01 Softmax Classification 84.69% 02 Keras Sequential Dense Net 89.66% 03 Keras CNN 92.31% 4순위 04 Keras CNN (batch_size, Epoch 값 조정) 94.7% 2순위 05 Keras CNN( 레이어 값 조정) 92.85% 3순위 06 Random Erasing Net 95.8% 1순위 이 결과를 통해 얻은 결론과 소감 배운점을 정리해보면 여러가지 모델들을 사용해보고 모델의 레이어나 batch_size, Epoch, 활성화 함수 등을 수정해보면서 모델의 깊이를 더 깊게 하거나 성능이 더 좋은 모델을 사용하면 정확도를 향상시킬 수 있다는 것을 알 수 있었고... 제일 중요하게 생각..
2021.06.13 -
데이터 셋 분석 및 학습 비교(7) - 새로운 딥러닝 모델 탐색
정확도 개선을 위해 새로운 딥러닝 모델을 탐색하기 시작했다.. 물론 VGGNet도 앞 글에서 소개를 했지만 좀 더 다른 모델이 없을까 탐색해보는 것도 나쁘지 않다는 생각을 하게 되었다. 그러다 찾은 모델이 하나가 있는데 https://github.com/zalandoresearch/fashion-mnist zalandoresearch/fashion-mnist A MNIST-like fashion product database. Benchmark :point_down: - zalandoresearch/fashion-mnist github.com 벤치마크 기중 정확도 0.963으로 2등이다. 이 WRN-28-10 + Random Erasing은 좀 특이한 방법을 사용하여 CNN연산을 수행한다. 순서는 다음과..
2021.06.12