본문 바로가기

딥러닝 & 머신러닝/딥러닝 지식

(23)
비선형성(Non-Linearity)과 편향(Bias)의 의미와 필요성 # Non-Linearity라는 말의 의미와 그 필요성은? Bias는 왜 있는 것인가? 선형 함수: 직선 1개로 그릴 수 있는 함수. y = ax+b의 형태. 비선형 함수: 직선 1개로 그릴 수 없는 함수. sigmoid나 ReLU 같은 함수. 신경망에서는 활성화 함수로 비선형 함수를 써야 한다. 활성화 함수로 선형 함수를 쓰면 층을 아무리 깊게 해봤자 'hidden layer가 없는 신경망'과 다를게 없다. 즉, 활성화 함수로 선형 함수를 쓰면 신경망의 층을 깊게하는 의미가 없어진다. 활성화 함수가 h(x) = cx인 경우와 h(x) = ax+b인 경우를 예시로 들어보자. 따라서 층을 쌓는 혜택을 얻고 싶다면 활성화 함수를 비선형 함수로 써야 한다. 즉, 우리가 활성화 함수를 쓰는 이유는 모델의 비선형..
활성화 함수(Activation function) 설명 (Sigmoid, ReLU, LeakyReLU, tanh) # 왜 활성화 함수를 사용하는가? 모델의 비선형성을 증가시키기 위해. 비선형성이 증가하면 기존 특징 공간이 더 좋은 특징 공간으로 변환되어 선형 분류가 쉬워진다. # 알고 있는 Activation function에 대해 알려주세요. * Sigmoid 함수 ( = logistic 함수) 입력 신호들을 받아 선형 결합을 해서 만들어진 값에 hard threshold를 적용했던 Step function (계단 함수) 이 있다. 하지만 해당 함수는 미분이 불가능하기 때문에 딥러닝에서 역전파를 수행할 수 없다. 이를 해결하기 위해서 제안된, 부드러운 형태의 미분 가능한 함수가 sigmoid함수다. sigmoid 함수는 -inf~+inf 값을 0~1 사이의 값으로 매핑해줌. 입력값 x가 양수면 0.5보다 큰 값, ..
비용 함수(Cost function)와 활성화 함수(Activation function)란? # Cost function과 Activation function이란? Cost function(비용 함수)은 Loss function(손실 함수)이라고도 한다. loss function은 신경망이 '최적의 가중치', 즉 최적의 parameter(매개변수)를 찾게 만드는 '지표'이다. 이 loss function의 값이 클수록 신경망이 적절한 parameter를 찾지 못하는 것이다. 즉 우리는 loss function의 값을 낮추기 위해 노력해야 한다. 대표적으로 MSE(Mean Squared Error)와 cross-entropy error가 있다. MSE는 실제값과 예측값의 오차의 제곱합으로, 왜 이런 식의 loss function을 쓰는지 직관적으로 이해가 간다. 직관적인 이해가 가지 않는 cros..
선호하는 프레임워크 & 하이퍼 파라미터 & 볼츠만 머신 & Data Normalization & GPU # 선호하는 프레임워크와 그 이유는? Keras: 케라스를 통해 맨 처음으로 딥러닝을 시작함. 알아보기 쉽고 쓰기 간편함. 텐서플로우에 비해 layer를 쌓는게 쉬움. 세부 설정들은 쉽게 바꾸지 못한다는 단점. 실제 프로젝트에서, 모델 훈련시 F1 score를 표시해주지 않아서 팀원 중 한 명이 fit 함수 자체를 뜯어서 F1 score를 표시하도록 만듦. Pytorch: class 개념을 알면 직관적이고 이해하기 쉬움. 연구 분야에서 많이 사용됨. Convolution이나 Linear layer 등에서 input과 output 노드의 수를 모두 계산해서 적어주어야 한다는 단점. padding도 마찬가지로 직접 계산해줘야 함. 그러나 그러한 과정들을 통해서 CNN의 동작 원리를 좀 더 배울 수 있었음. ..
딥러닝이 최근 부흥한 이유 & NN의 단점과 One-Shot Learning # 왜 갑자기 딥러닝이 부흥했을까요? 1. 옛날에 비해서 데이터가 엄청나게 많아졌기 때문. 딥러닝은 엄청난 데이터들을 기반으로 학습한다. 따라서 그만큼 데이터가 많아야 하는데, 요즘같이 데이터가 쏟아져 나오는 시대에 딥러닝은 부흥할 수밖에 없다. 2. 하드웨어의 성능이 좋아졌기 때문. 딥러닝은 많은 데이터를 처리하기 때문에 연산량이 엄청나게 많아진다. 이 연산량을 감당할 수 있는 GPU 같은 하드웨어가 개발되고 그것들의 성능이 빨리 좋아졌기 때문에 그에 발 맞추어 딥러닝도 빠르게 발전할 수 있었다. 3. 딥러닝 알고리즘이 발전했기 때문. 원래는 심층 신경망(DNN)을 훈련시킬 안정적인 방법을 찾지 못함. 그래서 분류 문제를 예로 들면, SVM이나 랜덤 포레스트 같은 잘 정리된 얕은 학습 방법에 비해 심층..
인공지능, 머신러닝, 딥러닝의 정의 & 딥러닝과 머신러닝의 차이 # 딥러닝은 무엇인가요? 딥러닝과 머신러닝의 차이는? 인공지능: 인간의 학습 능력과 추론 능력, 언어 이해 능력을 컴퓨터 프로그램으로 실현하는 기술. '문제 해결 능력', '학습, '범용성'의 세 가지 특성을 지님. 기계 혹은 시스템에 의해 만들어진 지능으로, 지적 능력을 인공적으로 구현한 것들을 모두 포함하는 개념 머신러닝: 인공지능을 구현하는 대표적인 방법 중 하나. 사람이 할 수 없거나 하기 어려운 일을 대신 수행할 machine을 '학습'을 통해 만들어내는 작업. 즉, 컴퓨터가 데이터로부터 스스로 학습할 수 있도록 프로그래밍 하는 과학적인 활동. 전통적인 프로그래밍은 규칙과 데이터를 주면 해답을 준다. 반면 머신러닝은 해답과 데이터를 주면 규칙을 준다. 예시 데이터에서 주어진 입력과 출력의 관계를..
2020 AI College (AI 양재 허브) 실무 과정 - 퀴즈 목록 '2020 AI College (AI 양재 허브) 실무 과정'에서 배운 내용 복습 겸 가볍게 푼 퀴즈들입니다. 쭉 읽어보면서 개념을 다시 되살려볼 수 있고, 나아가 면접에도 대비할 수 있을 것입니다. # 회귀 분석 (Regression) Q. 아래 그래프는 회귀 분석에 대한 예시입니다. 아래 그래프와 회귀 분석에 대해 '틀린' 설명을 고르세요. -Y = beta_0 + beta_1 * X의 식을 통해 선형 회귀 분석을 하고 있다. -회귀 분석이란, 입력 데이터가 어떤 클래스에 속하는지 예측하기 위한 알고리즘이다. * -Loss Function 을 통해 데이터에 가장 잘 맞는 회귀 선을 찾는다. -Gradient Descent은 거꾸로 된 산을 내려오는 것처럼 설명될 수 있다. # K-Fold Cross ..