본문 바로가기
728x90
반응형
SMALL

Deep Learning24

[Deep Learning] 활성화 함수 구현 Sigmoid import numpy as np def sigmoid(x): return 1/(1+np.exp(-x)) sigmoid(4) 0.9820137900379085 import matplotlib.pyplot as plt x = np.arange(-10, 10, 0.01) y = sigmoid(x) plt.plot(x, y) ReLU def relu(x): return np.maximum(0, x) x = np.arange(-10, 10, 0.01) y = relu(x) plt.plot(x, y) Softmax def origin_softmax(x): f_x = np.exp(x) / np.sum(np.exp(x)) return f_x x = np.array([1.3, 5.1, 2.2, 0.7, .. 2022. 11. 17.
[Deep Learning] Global Average Pooling (GAP) Global Average Pooling (GAP) GAP (global average pooling)은 Max (Average) Pooling 보다 더 급격하게 feature의 수를 줄인다. 하지만, GAP을 사용하는 이유는 Pooling과 조금 다르다. GAP의 목적은 feature를 1차원 벡터로 만들기 위함이다. 이 방식은 Location 정보를 FC Layer보다 적게 잃고 85%의 가중치를 없앤다. 이것으로 계산량과 모델의 무게와 파라미터가 줄어든다. 따라서, 오버피팅 방지 효과도 따라온다. 그리나 이것은 정보량 손실이 있다. 이미지의 모든 값을 평균을 내는 것인데, 정보를 잃지만 성능은 좋은 것으로 알려져 있다. 분류할 클래스 수만큼 feature map을 마지막에 생성하여 i번째 featu.. 2022. 8. 14.
[Deep Learning] 딥러닝 프레임워크 비교 딥러닝 프레임워크 비교 장점 단점 텐서플로우 (TensorFlow) 텐서보드 (TensorBoard)를 통해서 파라미터 변화 양상이나 DNN의 구조를 알 수 있다. 메모리를 효율적으로 사용하지 못한다. 케라스 (Keras) 배우기 쉽고 모델을 구축하기 쉽다. 오류가 발생할 경우 케라스 자체의 문제인지 백엔드 (back-end)의 문제인지 알 수 없다. 토치 (Torch) 간단하고 직관적인 학습과 속도 대비 빠른 최적화가 가능하다. 텐서플로우에 비해 사용자층이 얕고, 예제 및 자료를 구하기 힘들다. 텐서플로우 (TensorFlow) 텐서플로는 구글이 개발한 오픈소스 소프트웨어 라이브러리이며 머신러닝과 딥러닝을 쉽게 사용할 수 있도록 다양한 기능을 제공한다. 텐서플로는 데이터 플로우 그래프 (Data Flo.. 2022. 5. 19.
[Deep Learning] XGBoost XGBoost 부스팅 (Boosting) 알고리즘은 앙상블 (Ensemble) 알고리즘의 하나로, 결정트리 기반의 알고리즘이다. 또 다른 앙상블 알고리즘인 배깅 (Bagging) 기법과의 차이점은, 배깅 기법이 평행하게 학습시키는 반면, 부스팅은 순차적으로 학습시킨다는 점이다. 첫 번째 약한 학습기가 분류를 진행하며, 잘못 분류된 데이터에 가중치를 두고 두번째 학습기가 다시 분류를 하게 된다. 이러한 방식으로 잘못 분류된 데이터에 가중치를 두면서 순차적으로 학습을 하여 결론적으로 강한 학습기를 구축한다. XGBoost는 Gradient Boosting 알고리즘을 분산환경에서도 실행할 수 있도록 구현해놓은 라이브러리이다. Regression, Classification 문제를 모두 지원하며, 성능과 자원 .. 2022. 5. 3.
[Deep Learning] Orion을 통한 불안정한 시계열 이상 감지 Orion을 통한 불안정한 시계열 이상 감지 2022. 5. 3.
[Deep Learning] Basic Guide to Spiking Neural Networks for Deep Learning (3) How to build a Spiking Neural Network? SNN으로 작업하는 것은 어려운 작업이다. 그래도 흥미롭고 유용한 몇 가지 도구가 있다. SNN를 시뮬레이션하는 데 도움이 되고 주로 생물학자들이 사용하는 소프트웨어가 필요한 경우 다음을 확인하는 것이 좋다. GENESIS Neuron Brian NEST 이론이 아닌 실제 문제를 해결하는 데 사용할 수 있는 소프트웨어를 원한다면 다음을 확인해야 한다. SpikeNet TensorFlow 또는 SpykeTorch 를 사용해야 한다 . 그러나 특수 하드웨어 없이 로컬에서 SNN으로 작업하는 것은 계산적으로 매우 비용이 많이 든다. Tensorflow Tensorflow를 사용하여 SNN을 확실히 만들 수 있지만 DL 프레임워크가 처음에 S.. 2022. 1. 17.
[Deep Learning] Basic Guide to Spiking Neural Networks for Deep Learning (2) SNN architectures SNN은 그 개념이 독특함에도 불구하고 여전히 NN이므로 SNN 아키텍처는 세 그룹으로 나눌 수 있다. Feedforward Neural Network 는 모든 산업 분야에서 널리 사용되는 고전적인 NN 아키텍처이다. 이러한 아키텍처에서 데이터는 입력에서 출력으로의 한 방향으로만 전송된다. 순환이 없고 많은 숨겨진 layer에서 처리가 발생할 수 있다. ANN 아키텍처의 대부분은 feedforward이다. RNN( Recurrent Neural Network )은 좀 더 발전된 아키텍처이다. RNN 에서 neuron 간의 연결은 시간 순서를 따라 방향성 그래프를 형성한다. 이것은 그물이 시간적 동적 행동을 나타낼 수 있도록 한다. SNN이 recurrent인 경우 동적이며.. 2022. 1. 17.
[Deep Learning] Basic Guide to Spiking Neural Networks for Deep Learning (1) Introduction to Spiking Neural Networks DL은 데이터 과학 커뮤니티 내에서 뜨거운 주제이다. 산업 전반의 다양한 작업에서 매우 효과적임에도 불구하고 DL은 새로운 신경망 (NN) 아키텍처, DL 작업, 그리고 SNN (스파이킹 신경망)과 같은 차세대 NN의 새로운 개념을 제안하면서 끊임없이 진화하고 있다. What is a Spiking Neural Network? 인공 신경망 (ANN)의 일반적인 개념은 생물학에서 비롯된다. 우리는 정보 및 신호 처리, 의사 결정 및 기타 여러 작업에 사용되는 뇌 내부에 생물학적 신경망을 가지고 있다. 생물학적 신경망의 기본 요소는 생물학적 neuron이다. 반면 ANN에서는 인공 neuron이 사용된다. 인공 neuron은 서로 매우 .. 2022. 1. 17.
[Deep Learning] 드롭아웃 (Dropout) 드롭아웃 (Dropout) weight decay 기법은 간단하게 구현할 수 있고, 어느 정도 지나친 학습을 억제할 수 있다. 그러나 신경망 모델이 복잡해지면 weight decay만으로는 대응하기 어려워진다. 이럴 때 사용하는 것이 드롭아웃 (Dropout)이라는 기법이다. dropout은 신경망 모델에서 뉴런을 임의로 삭제하면서 학습하는 방법이다. 학습 시에 hidden layer의 neuron을 무작위로 골라 삭제한다. 훈련 때에는 데이터를 흘릴 때마다 삭제할 neuron을 무작위로 선택하고, 시험 때는 모든 neuron에 신호를 전달한다. 단, 시험 때는 각 neuron의 출력에 훈련 때 삭제한 비율을 곱하여 출력한다. neuron을 임의로 삭제하여 적은 수의 neuron만으로 지정된 레이블을 맞.. 2022. 1. 3.
[Deep Learning] 가중치 감소 (Weight Decay) 가중치 감소 (Weight Decay) 훈련 데이터가 매우 많다면 overfitting을 줄일 수 있지만, 현실적인 이유로 그러지 못하는 경우가 있다. 이런 상황에서 overfitting을 줄이도록 하는 여러 기법 중 하나가 바로 가중치 감소이다. 이것은 학습 과정에서 큰 가중치에 대해서 그에 상응하는 큰 패널티를 부과하여 overfitting을 억제하는 방법이다. overfitting은 weight 매개변수의 값이 커서 발생하는 경우가 많기 때문이다. 규제 (Regularization) weight decay에는 규제 (Regularization)가 이용된다. regularization란 weight의 절댓값을 가능한 작게 만드는 것으로, weight의 모든 원소를 0에 가깝게 하여 모든 특성이 출력에.. 2022. 1. 3.
728x90
반응형
LIST