본문 바로가기

전체 글
4. 시그모이드와 크로스엔트로피, 양수출력문제, 죽은 ReLU Sigmoid와 Cross Entropy Loss의 관계 일반적으로 딥러닝을 이용하여 이진분류 문제를 해결할 때 출력의 마지막 단에 Sigmoid layer를 추가하고, 그 다음 Cross entropy loss 함수를 적용한다. Backpropagation은 Loss function을 시작으로 network를 순차적으로 미분하는 과정이다. 그렇다면 끝에서 두 번째 layer인 Sigmoid도 어쨌거나 미분의 대상이 된다. 하지만 전 게시글에서 알아보았듯이 Sigmoid는 지수형태로 주어지므로 Sigmoid의 입력값의 절댓값이 클 때 Gradient가 0에 가까워지는 Gradient saturation이 발생한다. 따라서 Activation function으로 sigmoid를 사용하는 것은 적절치 못한데..
Optuna document 읽어보기 모델 성능 향상을 위해 optuna 쓸 일이 제법 있었는데 이제껏 공식 document를 읽어본 적이 없었다. 그저 구글링으로 코드 짜맞추기를 했을 뿐 그래서 오늘은 autoML 기법 중 하나인 optuna의 document를 읽어보고 이해한 내용을 작성할 것이다. Optuna란? 2019년 타쿠야 아키바 등에 의해 개발된 하이퍼파라미터 최적화 라이브러리로 여러 종류의 sampler를 제공한다. Grid, random search에 비해 월등히 빠른 탐색속도를 가지며 머신러닝 뿐 아니라 딥러닝(TF, Pytorch)에도 유연하게 적용 가능하다. 간단 동작원리 Optuna tutorial에 나와있는 대로 아주 기본적인 예제를 통해 optuna의 기능을 익혀보고자 한다. !pip install optuna ..
3. 활성화 함수 (Activation function) 이 포스트는 Do it 딥러닝 교과서 (윤성진 저)를 참고하여 만들어졌음! 이번에는 Activation functions(활성화 함수)에 대해서 알아본다. 계단함수 (step function) $f(x) = \begin{cases}1, & \text{if } x \geq 0 \\0, & \text{otherwise} \end{cases}$ Step function은 딥러닝 개발 극 초창기 퍼셉트론에서 사용되었다고 한다. 하지만 현대 딥러닝에서는 사용이 불가능한 방식이다. 역전파가 개발된 이후에는 역전파 알고리즘을 사용하기 위해 반드시 미분가능한 함수만을 사용하여야 하는데 계단함수는 모든 구간에서 기울기가 0인 함수이기 때문이다. 시그모이드 (Sigmoid) $f(x)=\frac{1}{1+e^{-x}}$ ..
2. 분류와 회귀 이 포스트는 Do it 딥러닝 교과서 (윤성진 저)를 참고하여 만들어졌음! 분류 (Classification) 분류는 데이터가 입력되었을 때 해당 데이터의 클래스를 예측하는 문제이다. 분류되는 클래스의 개수가 2개일 때는 특별히 이진 분류(binary classification), 3개 이상일 때는 다중 분류(multiclass classification)라고 부른다. 분류모델의 출력 결과는 특정 클래스의 이름 혹은 확률로 표현될 수 있다. 전자의 경우 모델이 산출한 값 중 가장 큰 인덱스의 클래스를 최종 클래스로 예측하는 것이다. 후자의 경우는 모델이 산출한 값에 sigmoid(이진분류) 혹은 softmax(다중분류)를 취하여 해당 데이터가 가능한 클래스들에 속할 확률을 표현한다. 산출값이 가장 높은 ..
1. 순방향 신경망 이 포스트는 Do it 딥러닝 교과서 (윤성진 저)를 참고하여 만들어졌음! 순방향 신경망 (Feedforward neural network) 위 그림에서 각 동그라미를 퍼셉트론(인공뉴런)이라 부르고, 여러 퍼셉트론이 층을 이루는 구조를 순방향 신경망(feed forward neural network)라고 부른다. Input layer에 입력된 값들이 hidden layer로 전달되고, 마지막 Output layer를 통해 최종 값이 산출된다. Input layer에서 데이터를 입력받고 Hidden layer에서 입력된 데이터의 특징을 추출하며 그 결과를 Output layer를 통해 출력하는 것이다. Fully connected FC(Fully connected) layer란 현재 층의 모든 뉴런과 이전..
K means, 계층 군집화를 이용한 팀원 짜기 내가 작년 동아리에 가입할 당시 회장님이 군집화를 통해 팀원을 짰었다. 이번 학기 신입부원 팀을 어떻게 짤지 고민하다가 작년 회장님이 당시 사용했던 설문지를 공유해주셔서 (ㄳ ㅎㅎ) 그 방법론을 사용하여 군집화 실습을 해보기로 했다. 큰 틀은 그대로 가져가되 약간의 베리에이션을 추가하고 싶어서 설문지의 질문을 다수 교체했고, K means에 더하여 계층 군집화도 사용해 봤다. 라이브러리 불러오기 import pandas as pd import numpy as np from sklearn.cluster import KMeans import matplotlib.pyplot as plt import seaborn as sns from sklearn.decomposition import PCA !pip inst..
3. Large Scale Channel Model:Path Loss and Shadowing 이 게시글은 K-mooc 고영채교수님의 이동통신공학 1을 수강한 내용을 바탕으로 작성하였음 http://www.kmooc.kr/courses/coursev1:KoreaUnivK+ku_eng_001+2020_A07/about Path Two-Ray Path Loss Model Some other path loss mode Shadowing Path Wireless Channel Model 지난 강의에서는 fading의 종류를 Large, small로 분류하였다. Large scale fading은 Average power에 대한 channel model이며, small scale은 Instantaneous power에 대한 channel model이다. 각각에 대해 다시 짚고 넘어가면 Path loss :..
2. Cellular system and Introduction to Channel model 이 게시글은 K-mooc 고영채교수님의 이동통신공학 1을 수강한 내용을 바탕으로 작성하였음 http://www.kmooc.kr/courses/coursev1:KoreaUnivK+ku_eng_001+2020_A07/about System capacity in cellular system Improving the system capacity Introduction to channel models Categorization of channel models System capacity in cellular system Cellular system에서의 system capacity라는 것에 대한 정의를 내리고 이것이 어떻게 전개되는지 살펴볼 것이다. Co-channel Interference Cellular sy..