본문 바로가기
Regularization과 Normalization 모델의 성능을 높이고, 오버피팅을 방지하는 Regularization과 Nomalizaton을 알아보자 Regularization : 정칙화 오버피팅을 해결하기 위한 방법 L1, L2 Regularization, Dropout, Batch normalization 등이 있음 모델이 train set의 정답을 맞히지 못하도록 오버피팅을 방해(train loss가 증가) 하는 역할 train loss는 약간 증가하지만 결과적으로, validation loss나 최종적인 test loss를 감소시키려는 목적 Normalization : 정규화 데이터의 형태를 좀 더 의미 있게, 혹은 트레이닝에 적합하게 전처리하는 과정 데이터를 z-score로 바꾸거나 minmax scaler를 사용하여 0과 1사이의 값으로 .. 2022. 2. 11.
딥러닝 레이어 이해하기 Embedding Layer, Recurrent layer 자연어 처리 분야에 잘 이용되는 embedding, recurrent layer에 대해 알아보자 단어의 희소 표현(Sparse Representation) 벡터의 특정 차원에 단어 혹은 의미를 직접 매핑하는 방식 예) 사과: [ 0, 0 ] , 바나나: [ 1, 1 ] , 배: [ 0, 1 ] 일떄, 첫 번째 요소는 모양(0:둥글다, 1:길쭉하다)을 나타냄 두 번째 모양은 색상(0:빨강, 1:노랑)을 나타냄 배는 모양 기준으로는 사과와 가깝고, 색상 기준으로는 바나나와 가깝다는 것을 표현할 수 있음 단어의 분산 표현(Distributed Representation) 분포 가설(distribution hypothesis)? : 유사한 맥락에서 나타나는 단어는 그 의미도 비슷하다 맥락? - 좌우에 출현하는 .. 2022. 2. 9.
딥러닝 레이어 이해하기 linear, Convolution 딥러닝 모델 속 각 레이어(Linear, Convolution)의 동작 방식을 이해하고, 텐서플로우로 정의해보자 데이터 이미지 데이터 표기법 - Channel, Width, Height의 이니셜로 (C, W, H), (W, H, C)와 같이 표기 Layer? 하나의 물체가 여러 개의 논리적인 객체들로 구성되어 있는 경우, 이러한 각각의 객체를 layer라 칭함 Linear layer? (Fully Connected Layer, Feedforward Neural Network, Multilayer Perceptrons, Dense Layer... 등 다양한 이름으로 불림) 역할 - 선형 변환을 이용해 데이터를 특정 차원으로 변환 저차원화 : 데이터 집약 고차원화 : 데이터 더 풍부하게 표현 변환 코드(Te.. 2022. 2. 8.
Deep network 종류 사전 학습된 시중의 딥러닝 네트워크들에 대해 알아보자 텐서플로우에서 제공하는 이미지 분류 모델 library 모음 https://github.com/tensorflow/models/tree/master/research/slim GitHub - tensorflow/models: Models and examples built with TensorFlow Models and examples built with TensorFlow. Contribute to tensorflow/models development by creating an account on GitHub. github.com ImageNet Challenge 비전 관련 딥 러닝에서 가장 유명한 데이터셋 세계에서 가장 많은 데이터 셋을 보유하고 있고.. 2022. 2. 8.
CS231n Lecture 06. Training Neural Network 인공신경망을 학습시키는 방법에 대해 알아보자 목차 - Activation Functions - Data Preprocessing - Weight Initialization - Batch Normalization - Babysitting the Learning Process - Hyperparameter Optimization Activation Functions 입력을 받아 w와 가중치 연산된 후 활성함수가 적용되어 다음 퍼셉트론으로 이동 Activation Function - Sigmoid 각 입력을 받아서 그 입력을 [0, 1] 사이 값이 되도록 해줌 입력의 값이 크면 Sigmoid의 출력은 1에, 작으면 0에 가깝게 됨 0 근방의 모습은 선형성을 띔 sigmoid의 문제점 1. : Saturated.. 2022. 2. 7.
CS231n Lecture 05. CNN - Convolution Neural Network 이미지 인식의 대표 알고리즘, 공간적 구조를 유지하는 CNN에 대해 알아보자 History of CNN 1957년, Frank Rosenblatt가 Mark I Perceptron machine 을 개발 update rule 이 존재함 - back prop과 유사해 보이나 당시엔 단지 w를 사람이 직접 조절해 가며 맞추는 방식. 1960년, 최초의 Multilayer Perceptron Network 발명, NN와 비슷한 형식이나, 아직 back prop은 없었다. 1986년 처음으로 network 학습 개념 정립 시작됨 back prop 기법의 발견 2006년 Geoff Hinton 과 Ruslan Salakhutdinov의 논문이 DNN의 학습 가능성 선보임 backprop이 가능하려면 세심하게 초기.. 2022. 2. 6.
CS231n Lecture 04. Introduction to Neural Networks backpropagation - 목적 : 각각의 웨이트가 결과에 얼마나 영향을 미치는지를 알아보자! Backpropagation with scalar - 각각의 가중치 값 찾기!! q = x+y f = q * z Purpose : Want to calculate df/dx. df/dy, df/dz (x,y,z가 함수 F에 미치는 영향을 알 수 있다. 기울기값이므로 초기 인풋값의 변화량만큼의 f값의 변화를 알 수 있기 때문) Chain rule을 통해 단계마다의 함수값을 미분하며 올라가면 가장 최상층 웨이트의 미분값도 알 수 있다!! Process of backpropagation in Local gradient 각 노드(함수)를 거슬러 올라갈때, [upstream gradient] X [local gra.. 2022. 1. 28.
신경망(Neural Network)이란? 딥러닝 알고리즘의 구현 방식, 신경망에 대해 알아보자. 신경망(Neural network)이란? 우리 뇌에는 1000억 개에 가까운 신경계 뉴런들이 있다. 이 뉴런들은 서로 매우 복잡하게 얽혀 있고, 조금 물러서서 보면 하나의 거대한 그물망과 같은 형태를 이루고 있다. 보통 우리는 이를 신경망이라고 한다. 머신러닝/딥러닝 분야는 위와 같은 뇌 속의 신경망처럼 컴퓨터 알고리즘을 구현하여 인공지능을 만들고자 시도했다. 그들은 우리 뇌 속의 신경망 구조에 착안해서 퍼셉트론(Perceptron)이라는 형태를 제안하며 이를 연결한 형태를 인공신경망(Artificial Neural Network)이라고 부르기 시작했다. 다층 퍼셉트론 입력층(input layer), 은닉층(hidden layer), 출력층(outp.. 2022. 1. 25.
딥러닝과 신경망의 본질 딥러닝과 머신러닝의 차이는 무엇인지, 표현학습, 연결주의, 선형성은 무엇인지 알아보자 딥러닝vs머신러닝vs인공지능?? 인공지능은 기계가 스스로 규칙 시스템을 만들어 학습하게 하는 과학을 말함(인간이 직접 프로그래밍x) 머신러닝은 데이터를 통해 스스로 학습하는 방법론을 의미. 데이터분석, 패턴학습, 판단/예측 실시 딥러닝은 머신러닝의 일종으로, 학습 모델의 형태가 신경망(NN)구조인 방법을 말함 기존의 머신러닝은 데이터를 입력하기 위해 사람이 feature를 가공해줘야 함 - 사람의 개입 많이 필요 딥러닝은 모델의 복잡성을 늘려 사람이 feature를 직접 가공하지 않아도 됨(자연어의 경우 embeding 필요) 딥러닝은 머신러닝과 달리 비정형데이터로부터 표현을 추출하는데 매우 능함 신경망(Neural N.. 2022. 1. 20.