본문 바로가기

데이터사이언스

(27)
AlexNet (CNN architecture 기반 모델) AlexNet은 LeCun의 LeNet5와 구조적으로 비슷하지만 엄청난 계산량 문제를 GPU를 사용하여 개선 CNN구조를 설계할 때 GPU를 사용하는 것이 대세가 되었다는 점에서 의미를 갖음 네트워크 구조 2개의 GPU를 기반으로 한 병렬 구조이며 총 5개의 convolution layers와 3개의 full-connected layer로 구성되어 있음 맨 마지막 FC layer는 1000개의 category로 분류하기 위한 활성함수로 softmax 함수를 사용 구조적 특징 활성화 함수 ReLu함수를 사용하여 학습 속도 6배 가량 빨라지고, Exponential 연산처럼 많은 작업이 없이 컴퓨터 자원을 절약하고 Gradient vanishing의 단점을 보완 마지막 layer에서는 softmax 사용 정..
VGGNet (CNN architecture 기반 모델) VGGNet은 Visual Geometry Group Net의 약자로 이미지 분류 예측 문제를 위한 모델 네트워크 구조 깊이에 따른 변화를 비교하기위해, 3x3의 작은 필터 크기를 사용했고, 모델 깊이와 구조에 변화를 주어 실험하였음 레이어 개수에 따라 VGG16, VGG19로 불림 8~16 convolution layer + 3 fully-connected layer 작동원리 모든 convolution layer에 3x3 필터를 적용함 3x3 필터를 3개 사용한 결과가 7x7 필터를 1개 사용한 결과보다 파라미터 수를 줄일 수 있다는 사실에 입각해 큰 필터 사용을 폐기함 FM_size는 동일하지만, 학습해야 할 파라미터(weight) 수가 줄어듦 5x5 필터 1개에 의한 FM_size = 3x3 필터 ..
CNN의 구조 CNN의 구조 Hidden layer에 배치될 convolution layer 또는 pooling layer의 수 각각의 layer에 배치될 노드의 수 Convolution layer의 특성 탐색을 위한 filter 및 stride의 크기 Padding의 적용 여부 Pooling layer의 특성 Pooling domain의 크기 Pooling 방식 (Max, Average 등)
CNN (Convolutional Neural Network) 이해하기 합성곱 두 함수 f와 g가 주어졌을 때, 한 함수의 형태가 다른 함수에 의해 어떻게 변하는지 설명해주는 새로운 함수 h = f*g를 도출하는 과정 또는 이를 통해 도출된 함수를 지칭함 즉, 합성곱 연산은 고정되어 있는 함수 f와 속성 공간을 이동하는 함수 g를 통해 이루어지며, f가 g에 의해 어떻게 변화하는지를 설명함 이 과정에서 g를 kernel의 일종으로 볼 수 있음 CNN에서는 f를 처리하고자 하는 input, g는 input을 탐색하고 변환시키기 위한 kernel에 해당함 합성곱 신경망 (CNN) 신경망을 구성하는 layer중에서 합성곱 연산을 수행하는 layer를 포함한 신경망을 CNN으로 정의할 수 있음 합성곱 연산을 수행하는 layer는 filter를 포함하고 있으며, filter는 inp..
신경망 구조 신경망 구성 요소 층: 딥러닝의 구성 단위 하나 이상의 텐서를 입력으로 받아 하나 이상의 텐서를 출력하는 데이터 처리 모듈 대부분 가중치라는 층의 상태를 가짐 층마다 적절한 텐서 포맷과 데이터 처리 방식이 다름 2D 텐서가 저장된 간단한 벡터 데이터 : 완전 연결층이나 밀집 층이라고도 불리는 밀집 연결 층에 의해 처리 3D 텐서로 저장된 시퀀스 데이터 : 보통 LSTM 같은 순환 층에 의해 처리 4D 텐서로 저장되어 있는 이미지 데이터 : 일반적으로 2D 합성곱 층에 의해 처리 모델: 층의 네트워크 딥러닝 모델은 층으로 만든 비순환 유향 그래프 네트워크 구조는 가설 공간을 정의함 네트워크 구조를 선택함으로써 가설 공간을 입력 데이터에서 출력 데이터로 매핑하는 일련의 특정 텐서 연산으로 제한 손실 함수와 ..
다중 퍼셉트론의 학습 방법 역전파 알고리즘(Back propagation) 데이터 집합에 대해, 이들을 모두 옳게 분류할 수 있는 다층 퍼셉트론을 찾는 것 (가중치 벡터 u와 v 값을 찾는것) 이때 j번째 요소만 1이고 나머지 요소는 활성 함수에 따라 0 또는 -1을 갖는 벡터임 다층 퍼셉트론의 출력 값을 o=(o1,o2,...,om)^T라 할때, 실제 테이터 집합과 비교하여 발생하는 오류를 정의할 수 있음 학습 알고리즘의 역할: 오류 E를 줄이는 방향으로 매개 변수인 u와 v의 값을 갱신해야 하므로, 데이터 하나에 대한 h+1 시점에서 u와 v값은 다음과 같음 v(h+1)=v(h)-p(미분E/v) u(h+1)=u(h)-[(미분E/u) 은닉층의 j번째 node와 출력층의 k번째 node 사이의 가중치 Vjk의 갱신값 (편미분을 통..
신경망 모델 (신경망 모형) 신경망 모형 특징 인간의 뇌는 수많은 뉴런으로 구성되어 있으며, 이러한 뉴런들은 다른 뉴런으로부터의 정보를 수용, 처리 및 전달함 인공 신경망 (Artificial Neural Network): 뉴런으로 구성되는 생물학적 신경망을 모방하여 만든 정보 처리를 위한 수학적 모델 학습이 용이함, 효율적인 병렬 처리, 다양한 문제에 적용 가능 퍼셉트론의 경우 계단 형태의 함수만을 이용해서 활성 함수가 단조롭고 하나의 선으로 선형 분리가 불가능한 데이터에 대한 적용 어려움이 있음 따라서 복수의 퍼셉트론을 동시에 이용하는 다층 퍼셉트론 개념이 제안되었으며, 인공 신경망의 표준이 됨 입력층과 출력층의 역할은 퍼셉트론에서와 같음 (입력층은 받은 값을 전달, 출력층은 활성 함수 값을 계산하여 출력을 결정) 다만 출력층도..
신경망 모델 (퍼셉트론 모형) 퍼셉트론 모형 구성요소: 신경망의 초기 형태로서, 입력층과 출력층으로 구성 입력층: 주어진 데이터의 특성 벡터에 대해 d+1개의 node로 구성 출력층: 하나의 node로만 구성되며, 입력층에서 전달된 가중치들의 합을 바탕으로 결과를 내보냄 활성함수: 출력층에서 결과 판단의 기준으로 사용하는 함수 (퍼센트론은 이진 분류만을 지원하였음) 퍼셉트론의 학습 학습의 의미: Xn이 n번째 데이터의 특징 벡터를 나타내고, Tn은 Xn의 소속 클래스에 따라 1 또는 -1의 값을 가질 때, 데이터 집합 X={(X1,T1),(X2,T2),...,(Xn,Tn)}를 모두 옳게 분류할 수 있는 퍼셉트론을 찾는것 (w와 b값을 찾는 것) 방법: 퍼셉트론의 매개 변수 w와 b를 이용하여 다음 오분류 함수를 설계하고, 오분류된 데..