반응형

machine learning 32

[Machine Learning] ResNet(Residual Network)

ResNet (Residual Network) AlexNet, VGGNet, GoogleNet 등은 layer를 깊게 쌓아 성능을 높이고자 함 layer가 깊어질수록 학습이 어려워 지고 overfitting, Vanishing Gradient 등의 문제가 여전히 발생 입력 x가 딥러닝 모델 H()를 거쳐 나온 H(x)가 정답 y (1 or 0)을 나타낼 수 있게 mapping 되도록 H() 모델을 학습 이미지 x를 타겟 y로 잘 mapping되는 함수 H(x)를 찾는 것이 아니라 이미지 x로 y를 바로 mapping하는 구조 고려 Skip Connection 구조를 갖음 CNN 구조 ResNET 구조 x->y로 mapping 해야 한다는 idea 최종 출력이 H(x) - x = 0 되도록 weight 학..

[Machine Learning] GoogleNet (Inception V4)

GoogleNet Inception 모듈 사용 22개의 layers, 5M parameters (AlexNET의 1/12 수준) GoogleNet 컨셉 Layer의 깊이를 늘려 성능을 높이고자 했으나 다음과 같은 문제 발생 free paremeter 수 증가 데이터 학습양이 작으면 overfitting 문제 연산량이 늘어남(필터의 개수가 증가하면 연산량은 제곱 증가) Vanishing Gradient 문제 학습은 잘되었으나 테스트할 때 성능이 나오지 않을 수 있다 또한, 모델이 너무 커져 학습과 테스트에 많은 시간을 소비하게 된다 NIN (Network In Network) 일반적인 CNN은 Feature Extraction(convolution + pooling) + classifier(fully co..

[Machine Learning] VGGNet

VGGNet 목표 : 네트워크의 깊이를 깊게 만드는 것이 성능에 어떤 영향을 미치는가 확인 방법 : 깊이의 영향만을 확인하기 위해 커널 사이즈는 가장 작은 3X3으로 고정 6개의 구조를 만들어 성능 비교 layer가 깊어질수록 성능이 좋아지는 것을 확인 VGG16 3x3 Filter 여러 개의 Relu non-linear를 사용할 수 있음 큰 필터로 구성된 하나의 레이어를 작은 필터의 여러 레이어로 나누었기 때문에 Relu non-linerlity가 들어갓 곳이 더 많아짐 학습해야할 weight 수가 많아 줄어듬 regularization(모델의 일반화) 측면에서 큰 이점 학습 속도가 빠름 학습 이미지: 224x224로 고정 다양한 이미지를 crop을 통해 224x224로 크기 고정 VGGNet 단점 f..

[Machine Learning] AlexNet

AlexNet 2012년 개최된 ILSVRC(ImageNet Large Scale Visual Recognition Challenge) 대회의 우승을 차지한 CNN 구조 논문: ImageNe Classification with Deep Convolutional Neural Networks 8개의 layer로 구성 5개의 convolution layer + 3개의 full-connected layer Max Pooling + Overlapping pooling 사용 Overlapping Pooling: stirde를 커널 사이즈보다 작게 pooling size=3, stride=2 최초의 max pooling 시도 → overfitting 막는데 도움을 줌 Activation Function: Relu T..

[Machine Learning] ML Hyperparameter

Hyperparameter Machine learning 학습을 할 때 더 효과가 좋도록 하는 주 변수가 아닌 자동 설정되는 변수를 의미 Learning Rate gradient의 iteration마다 얼마의 gap으로 빠르게 혹은 느리게 이동할지 결정하는 계수 Error/Loss/Cost Function 실제 output과 계산된 output 사이의 차이를 error/loss/cost function이라고 하는데 이 둘의 차이를 어떤 방식으로 계산할지를 지정 Batch Size mini batch처럼 전체 data를 몇 개의 그룹으로 나누어 학습할지를 나눌 그 크기를 의미 Epochs training 반복 횟수 train set에 대해서는 epochs가 늘어날수록 error가 줄어들 수 있지만 over..

[Machine Learning] Regularization

Regularization [Machine Learning] - Neural Network의 한계 [Machine Learning] - Supervised Learning Neural Network의 Overfitting 방지를 위해 사용. 모델이 일반성을 띄게 해주는 기법: 모델의 weight들이 너무 완벽하게 overfit되지 않도록 정규화 요소를 추가 모델 복잡도에 대한 penalty를 부여하는 것으로 모델이 복잡해질수록 loss function이 다시 커지도록 만드는 것 L1 Regularization (Lasso) Coss function 뒤에 L1항을 추가해 준 것 Spare solution, 중요한 feature만 살림 예측 값과 정답 값의 오차를 절대값 상수텀을 빼주는 형태 작은 가중치는 ..

[Machine Learning] Neural Network의 한계

Neural Network의 한계 Vanishing Gradient Local Minima Overfitting 느린 학습 Vanishing Gradient Layer를 쌓아서 비선형 문제를 풀고 Backpropagation으로 multi layer를 학습하지만 전파하는 과정에서 기울기 값이 사라져 학습 안됨 backpropagation은 출력층부터 앞으로 하나씩 되돌아가며 각 층의 가중치를 수정하는 방법 사용 가중치를 수정하려면 출력 오차 값(loss)을 미분하여 사용 layer가 늘어나면 기울기가 중간에 0이 되어 버리는 기울기 소실(vanishing gradient) 문제가 발생 activation 함수로 사용된 sigmoid 함수의 특성 때문에 발생 sigmoid 미분하면 최대치가 0.3이 되고 ..

[Machine Learning] Neural Network

Neural Network Multilayer Perceptron 이라고도 함 XOR 배타적인 형태의 논리합은 단일 퍼셉트론으로 풀지 못함 노드로 구성된 Layer를 추가하여 XOR 문제를 해결 많은 perceptron을 쌓아서 비선형의 데이터를 선형 분리가 가능하도록 단순화 시킴 Input Layer: 데이터를 전달하는 역할 Hidden Layer: 비선형 데이터를 선형 분류가 가능하도록 Representation 해주는 역할 Output Layer: 기능을 정의해주는 역할 Backpropagation (역전파) 역전파, 오류 역전파법 또는 오류 역전파 알고리즘, Multi perceptron 학습에 사용되는 통계적 기법 target값과 실제 모델이 계산한 output이 얼마나 차이가 나는지 구한 후 ..

[Machine Learning] Data Pre-Processing

Data Pre-Processing Normalization 데이터의 스케일이 다른 경우 출력에 영향이 달라질 수 있다 데이터의 특성에 따라 normalization 방식을 선택해야 한다. MinMax 일정범위(일반적으로 0~1) 사이로 scaling 함 실제 데이터의 범위가 테스트 데이터의 min max 범위를 벗어나는 경우 학습이 제대로 되지 않을 수 있다. Standard mean 차감을 통해 zero-centered화 해주고 std로 나누어 주어 데이터가 일정 범위안에 머무르게 함 Data Division Data 구축 시 유의할 점 노이즈 데이터 class 불균형 현장과 다른 상황 모집단을 제대로 표현하지 못한 표본 집단 데이터 잘못된 정답 표기(오류 라벨링)

[Machine Learning] One-Hot Encoding

One-Hot Encoding 대부분의 데이터의 일반적인 특성은 범주형 특성(categorical feature)을 가진다. 범주형 변수를 표현하는데 가장 널리 쓰이는 방법 one-out-of-N encoding 또는 dummy variable이라고도 한다 범주형 변수를 0 또는 1 값을 가진 하나 이상의 새로운 특성으로 표현 범주형 데이터 변환 데이터 셋을 읽고 나면 범주형 데이터가 존재하는지 확인하는 것이 좋다 panda value_count(): 데이터의 유일한 값이 몇 번 나타나는지 출력 data.gender.value_counts() >> Male 21790 Female 10773 Name: geder, dtype: int64

[Machine Learning] RNN(Recurrent Neural Network)

RNN(Recurrent Neural Network) Deep Learning 알고리즘 중 순차적인 데이터를 학습하여 classifcation 또는 prediction을 수행 시계열 데이터에서 과거에 입력된 데이터와 나중에 입력된 데이터 사이의 관계를 고려해야 한다 여러 개의 데이터가 순서대로 입력되었을 때 앞서 입력 받은 데이터를 잠시 기억해 놓는 방법을 사용 기억된 데이터가 얼마나 중요한지를 판단하여 별도의 가중치를 줘서 다음 데이터 사용 모든 입력 값에 이 작업을 순서대로 실행하므로 다음 층으로 넘어가기 전에 같은 층을 맴도는 것처럼 보이기 때문에 순환 신경망이라고 부름 각 셀의 결과는 뒤이어 들어오는 입력 값에 영향을 줌 DNN의 경우 각 layer마다 파라미터들이 독립적이었으나 RNN 은 이를 ..

[Machine Learning] CNN(Convolutional Neural Network)

Fully Connect Layer Dense Layer라고도 함 한 층(layer)의 모든 뉴런이 다음 층(layer)의 모든 뉴런과 연결된 상태 1차원 배열의 형태로 평탄화된 행렬을 통해 이미지를 분류하는데 사용되는 계층 [TensorFlow] - Neural Network MNIST 데이터 처리 한 장의 컬러 사진은 3차원 데이터로 FC(Fully Connected) 신경을 학습시켜야 할 경우에, 3차원 사진 데이터를 1차원으로 평면화 시켜야 함 → 이미지 데이터 평면화 과정에서 공간 정보 유실로 인한 정보 부족으로 인공 신경망에서 특징을 추출 및 학습이 비효율적이고 정확도를 높이는데 한계가 있음 데이터 형상의 무시 = 이미지의 공간적(spatial)한 정보 무시 학습해야 할 가중치(w)가 많음 C..

[Supervised Learning][Classification] Logistic Regression

Logistic Regression(로지스틱 회귀) 선형 회귀를 입력으로 받아 특정 레이블로 분류 독립 변수의 선형 결합을 이용하여 사건의 발생 가능성을 예측하는데 사용되는 통계 기법 선형 회귀 분석과는 다르게 종속 변수가 범주형 데이터를 대상으로 하며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류로 나뉘기 때문에 일종의 분류(classification) 기법으로도 볼 수 있음 이진 분류 문제(1과 0 중에 하나를 판별하는 문제)는 로지스틱 회귀를 이용하여 풀어 갈 수 있다 Sigmoid 함수도 w와 b를 구하는 것이 목적 w 그래프의 경사도 값이 커지면 경사가 커지고, 값이 작아지면 경사가 작아짐 b 그래프의 좌우 이동을 의미 값이 크고 작아짐에 따라 그래프가 이동 Error, Cost o..

[Machine Learning] Perceptron

Perceptron (퍼셉트론) 프랑크 로젠블라트(Frank Rosenblatt)가 1957년에 제안한 초기 형태의 인공 신경망 인간의 신경망(neural network)을 모방하여 만들어짐 신경망을 이루는 가장 중요한 기본 단위 입력 값과 가중치를 곱하여 가중치합을 만들고, 만들어진 가중치값은 활성화 함수에 보내 출력 값을 만든다. x: 입력 값 w: 가중치(Weight) b: 편향(bias) 인간의 신경망은 수 많은 뉴런(neuron)으로 구성 뉴런과 뉴런 사이에 시냅스(synapse)라는 연결 부위가 있는데 신경 말단에서 자극을 받으면 시냅스에서 화학 물질이 나와 전위 변화를 일으켜 다른 뉴런으로 정보 전달 전위가 임계 값을 넘으면 다음 뉴런으로 신호를 전달하고 인계 값에 미치지 못하면 아무것도 하..

728x90
반응형