AI
-
Data SamplingAI 2020. 12. 28. 01:41
Data Sampling 머신러닝에서 입력 데이터가 많아지면 처리 속도가 현저히 떨어지게 된다. 이 때문에 머신러닝의 처리 속도를 빠르게 하기 위해서 대표되는 데이터로 최적화한 후, 이 데이터를 활용하여 모델을 학습할 필요가 있다. 머신러닝에서 데이터 샘플링은 데이터를 일부 정리해서 최적의 입력 데이터로 만드는 과정을 의미한다. 딥러닝의 경우 일반적으로 데이터 샘플링은 데이터셋을 학습,검증,테스트 데이터셋으로 나누는 것을 의미한다. 데이터 샘플링 방법 확률적 샘플링 : 통계에 기반한 방법 단숨 랜덤 샘플링 : 전체 데이터에서 무작위로 샘플을 추출하는 방법 Two-Stage Sampling : 전체 n개의 데이터를 m개의 하위 모집단으로 분리하는 방법 m개의 하위 모집단을 선택 --> m개의 하위 모집단 ..
-
Recommend AlgorithmAI 2020. 12. 23. 21:08
Contents Based Filtering 사용자 혹은 아이템에 대한 프로필 데이터를 통해 사용자가 좋아했던 아이템과 비슷한 유형의 아이템을 추천 사용자와 비슷한 유형의 다른 사용자가 좋아하는 아이템을 추천 User-based Recommendation 사용자의 프로필을 기반으로 한 추천 ex) 영화 추천 : 사용자 프로필 { 성별, 연령대, 지역 } --> 사용자와 비슷한 프로필의 다른 사용자가 선호하는 영화 탐색 --> 추천 Item-based Recommendation 추천 아이템의 프로필을 기반으로한 추천 ex) 영화 추천 : 영화 프로필 { 장르, 배우, 흥행 여부 } --> 프로필에 해당하는 영화를 좋아했던 사용자 탐색 --> 사용자에게 추천 대용량의 데이터에 대한 프로필을 작성하는데 어려움..
-
Neural Network architecturesAI 2020. 11. 5. 18:55
Layer-wise organization - 뉴럴 네트워크는 비순환 그래프로 연결된 뉴런들의 집합으로 모델링 된다. - 뉴럴 네트워크는 비정형 덩어리로 구성되는 것이 아닌 특정한 층을 갖는 구조로 구성된다. - 가장 일반적인 타입의 뉴럴 네트워크는 Fully Connected layer 이며 두 인접 층 사이의 뉴런은 완전히 쌍으로 연결되어 있는 구조를 나타내며 같은 층에 위치한 뉴런 사이에는 어떠한 연결도 존재하지 않는다. - N 층의 뉴럴 네트워크에서 입력 층은 N에 포함되지 않는다. 예를 들어 single-layer는 입력층과 출력층만 갖는다. - 'logistic regression' or 'SVM'이 대표적인 single-layer Neural Network이다. - Sizing Neural ..
-
Attention is all you needAI 2020. 6. 16. 16:19
Long-term dependency problem - Sequence data를 처리하기 위해 이전까지 많이 쓰던 모델은 Recurrent model이었다. Recurrent model은 t번째에 대한 output을 만들기 위해서 t번째 input과 t-1번째 hidden state를 이용했다. 이러한 방식은 문장의 순차적인 특성을 유지할 수 있도록 해준다. - 이러한 Recurrent model은 long-term dependency에 취약하다는 단점이 있다. long-term dependency problem이란 두 단어 사이의 거리가 멀다면 해당 정보를 이용하지 못한다는 문제이다. - transformer에서는 이러한 문제를 해결하기 위해 attention mechanism만을 사용한 input과..
-
Feature Support MaxtrixAI 2020. 5. 29. 13:07
LAMB - Layerwise Adaptive Moments based Optimizer의 약자 - 매우 큰 배치 사이즈로 딥러닝 모델을 학습할 때 학습 성능을 향상 시키기 위한 Optimizer이다. - global batch size가 32768~65536으로 BERT 모델을 학습 시킬 때 Adam Optimizer를 사용했을 때 보다 성능이 15% 향상되었다. - 많은 수의 GPU를 이용하여 많은 큰 batch size를 할당할 경우 학습 속도는 Adam보다 72배는 빨랐다. - Adam은 모든 파라미터에 글로벌하게 적용되기 때문에 사용할 수 있는 Learning Rate에 한계가 있는 반면, LAMB는 계층별 Learning Rate 전략을 따른다.
-
[DL] DropoutAI 2019. 12. 27. 17:07
개념 Neural Network의 일부를 생략하는 것으로 생략된 Network은 학습에 영향을 끼치지 않게 된다. 모델 결합(Model Combination)을 하게 되면 학습의 성능을 개선할 수 있다. 모델 결합이 효과를 얻으려면, 서로 다른 학습 데이터를 이용해서 학습을 하거나, 모델이 서로 다른 구조를 가져야 한다. 하지만, 복수개의 망을 학습시키는 것은 매우 힘든 작업이다. 또한 어렵게 다양한 모델을 학습시켰을지라도 다양한 모델을 실행시킬 때 연산 시간을 잡아먹기 때문에 빠른 Response Time이 요구되는 상황에서 사용할 수 없다. Dropout은 위 2가지 문제를 해결하기 위해 개발되었다. 여러 개의 모델을 만드는 대신에 모델 결합에 의한 투표효과와 비슷한 효과를 내기 위해 학습 사이클이 ..
-
[ML] Logistic Regression (Classification)AI 2019. 12. 11. 18:56
위와 같은 예제에서 Linear Regression을 적용했을 경우 hour가 커졌을 때 예측값이 1이 넘어가게 되며 hour가 큰 인스턴스가 있을 경우 pass와 fail을 구분하는 hour가 크게 되어 pass인 인스턴스의 예측값이 fail이 될 수 있다. Logistic Classification Hypothesis 이러한 문제를 해결하기 위해 예측값의 범위를 0 ~ 1로 압축시키는 함수(Sigmoid Function)가 필요하다. z = WX 라고 하고 H(X) = g(z) = g(WX) 라고 한다면 위의 문제를 해결할 수 있다. Logistic Classification Cost Function 예측값이 실제값과 다르게 되면 (예측이 틀렸을 경우) Cost값은 무한대에 가까워지며 예측값이 실제값..
-
[DL] Neural Nets for XORAI 2019. 12. 11. 18:48
Activation Function simple AND/OR problem : linearly separable? Perceptrons ( multilayer neural nets ) Base Concept 1957년 처음 고안된 알고리즘인 퍼셉트론은 인공 신경망 모형의 하나이다. 다수의 Input을 입력받아서 하나의 Output을 출력한다. 뉴런의 전기신호 역할을 하는 것이 퍼셉트론의 weight이며, 각각의 입력신호에 부여되어 입력신호와의 계산을 하고 신호의 총합이 정해진 임계값 θ를 넘었을 때 1을 출력한다. 넘지 못하면 0 또는 -1을 출력한다. 각 입력신호에는 고유한 weight가 부여되며 weight가 클수록 해당 신호가 중요하다고 볼 수 있고, 여기서 기계학습은 weight의 값을 정하는 작..