인공지능/딥러닝 19

CNN(Convolution Neural Network)의 기본

1. CNN의 개요 https://truman.tistory.com/170 딥러닝의 종류와 개념 1. CNN Convolutional Neural Network, 합성곱 신경망 인간의 시신경 구조를 모방한 기술 1989년 LeCun이 발표한 논문에서 처음 소개가 되었으며, 필기체 zip code 인식을 위한 프로젝트를 통해 개발이 되었다... truman.tistory.com CNN은 합성곱(Convolution) 연산을 사용하는 ANN(Artificial Neural Network)의 한 종류이다. Convolution을 사용하면 3차원 데이터의 공간적 정보를 유지한 채 다음 레이어로 보낼 수 있다. 대표적인 CNN으로는 LeNet(1998)과 AlexNet(2012)이 있다. VGG, GoogLeNe..

딥러닝의 종류와 개념

1. CNN Convolutional Neural Network, 합성곱 신경망 인간의 시신경 구조를 모방한 기술 1989년 LeCun이 발표한 논문에서 처음 소개가 되었으며, 필기체 zip code 인식을 위한 프로젝트를 통해 개발이 되었다. 2012년 Image Net 대회에서 기존의 모든 알고리즘을 압도하는 성능으로 1등을 차지함. 이미지를 인식하기위해 패턴을 찾는데 특히 유용하다. 데이터를 직접 학습하고 패턴을 사용해 이미지를 분류한다. 자율주행자동차, 얼굴인식과 같은 객체인식이나 computer vision이 필요한 분야에 많이 사용되고 있다. 이미지의 공간정보를 유지한채 학습을 하게하는 모델 2. RNN Recurrent Neural Network, 순환신경망 순차적 정보가 담긴 데이터에서 규..

데이터 학습 과정 정리

하이퍼 파라미터 설정 1. 초기값 : 가중치(W), 바이어스(b) 가중치의 초기값을 0으로 default를 주고 시작하면 올바른 학습을 기대하기 어렵다. 오차역전파에서 가중치의 값이 똑같이 갱신되기 때문 np.random.randn()을 사용하여 무작위로 가중치를 설정하는 것을 볼 수 있다. 2. epoch (에폭) 신경망에서 전체 데이터에 대해서 순전파와 역전파가 끝난 상태 1 epoch = 전체 데이터셋을 1회 학습 epoch 횟수가 지나치면 과적합(Overfitting)이 발생할 수 있다. 3. step (스탭) 1 step = 가중치와 바이어스를 1회 업데이트 한 것 4. batch size (배치 크기) 1 step에 사용한 데이터의 수 몇 개의 데이터 단위로 매개변수를 업데이트 하는지 5. i..

손실 함수(Loss Function)와 최적화(Optimizer)

1. 손실 함수 (Loss Function) 손실 함수는 실제값과 예측값의 차이(loss, cost)를 수치화해주는 함수이다. 오차가 클수록 손실 함수의 값이 크고, 오차가 작을수록 손실 함수의 값이 작아진다. 손실 함수의 값을 최소화 하는 W, b를 찾아가는것이 학습 목표이다. 회귀 : 평균제곱오차 / 분류 : 크로스 엔트로피 1-1 평균 제곱 오차 (Mean Squared Error, MSE) 연속형 변수를 예측할 때 사용한다. def MSE(y, t): return (1/2) * np.sum((y-t)**2) 1-2 크로스 엔트로피 (Cross-Entropy) 낮은 확률로 예측해서 맞추거나, 높은 확률로 예측해서 틀리는 경우 loss가 더 크다. 이진분류 : binary_crossentropy / ..

신경망의 출력층

출력층의 활성화 함수 신경망은 분류와 회귀 모두에 이용할 수 있다. 일반적으로 회귀 문제에는 항등 함수를, 분류 문제에는 소프트맥스 함수를 사용한다. 항등 함수 (Identity Function) 입력을 그대로 출력한다. 회귀 문제에 사용된다. 회귀 문제의 특성상 데이터 간의 연속적인 관계가 있어야하기 때문에 다른 활성화 함수가 필요 없다. 소프트맥스 함수 (Softmax Function) 0과 1사이의 실수를 출력한다. 이때 출력값들의 합은 1이다. 분류 문제에서 사용된다. (2종류로 분류하는 문제에는 시그모이드 함수가 사용된다.) 활성화되기 전의 출력값들을 전체와의 비율(확률)로 나타내주는 활성화 함수 소프트맥스 함수를 적용해도 각 원소의 대소 관계는 변하지 않는다. 위의 식 1 대로 사용하면 지수 ..

활성화 함수

1. 활성화 함수(Activation Function)란? synapse는 전달된 전기신호가 최소한의 자극 값을 초과하면 활성화되어 다음 뉴런으로 전기신호를 전달한다. 활성화 함수는 이것을 모방하여 값이 작을때는 출력값을 작은겂으로 막고 일정한 값을 초과하면 출력값이 급격히 커지는 함수를 이용한다. 신경망에서는 전달받은 데이터를 가중치를 고려해서 합산하고 그 값을 활성화 함수를 적용해 다음층에 전달한다. 신경망에서는 활성화 함수로 비선형함수를 사용해야 한다. 입력 신호의 총합을 출력신호로 변환하는 함수 입력 신호의 총합이 활성화를 일으키는 지를 정하는 역할 가중치가 곱해진 입력 신호의 총합을 계산하고, 그 합을 활성화 함수에 입력해 결과를 내는 2단계로 처리된다. 입력 신호의 총합 계산 : a = w1x..

인공지능 / 머신러닝과 딥러닝의 차이점

1. 인공지능(Artificial Intelligence, AI)이란? 기계가 사람처럼 스스로 생각하고 판단하여 행동하도록 하는 것 인간의 지능을 갖고 있는 기능을 갖춘 컴퓨터 시스템 인간의 지능을 기계 등에 인공적으로 구현한 것 인간이 가지고 있는 인식, 판단 등의 지적 능력을 모델링하여 컴퓨터에서 구현하기 위해 다양한 기술이나 소프트웨어, 하드웨어, 이를 포함한 컴퓨터 시스템을 통틀어 일컫는 말 SAS의 정의 : 기계가 경험을 통해 학습하고 새로운 입력 내용에 따라 기존 지식을 조정하며 삶과 같은 방식으로 과제를 수행할 수 있도록 지원하는 기술 2. 머신러닝(Machine Learning, ML)이란? 제공된 데이터를 통하여 스스로 학습하는 방법 알고리즘을 이용해 데이터를 분석, 분석을 통해 학습, ..

신경망

1. 신경망의 정의 인공신경망(Artificial Neural Network), 다층 퍼셉트론 입력층과 출력층 사이에 은닉층이 존재 여러층으로 구성되고 시그모이드 함수 등 매끈한 활성화 함수를 사용하는 네트워크 2. 신경망의 구조 입력층(input layer), 은닉층(hidden layer), 출력층(output layer) 입력층 : 주어진 데이터가 입력되는 층으로서, 일반적으로 스칼라 또는 벡터의 형태로 입력됨. 출력층 : 입력층과 은닉층을 거쳐 형성된 최종 데이터를 갖는 층. 해당 데이터를 바탕으로 설정된 작업을 수행. 은닉층 : 은닉층의 뉴런은 사람 눈에 보이지 않는다. 위 그림은 가중치를 갖는 층이 2개이므로 '2층 신경망'이라고 부른다. 보통 은닉층이 1개 일때 '얕은 신경망'이라고 하며, ..

퍼셉트론

1. 퍼셉트론의 정의 인공 뉴론, 단순 퍼셉트론, 인공 신경망의 한 종류 1943년 미국 신경외과 의사인 워렌 맥컬록에 의해서 발단이 되었고 1957년 프랑크 로젠 블라트가 퍼셉트론 알고리즘을 고안했다. 인간의 뇌의 동작을 전기 신호 on/off로 흉내닐수 있다는 이론을 증명했다. 인간의 신경세포 하나를 흉내냈다. 다수의 신호를 입력받아 하나의 신호를 출력한다. 가장 간단한 형태의 피드포워드 네트워크 2. 퍼셉트론의 구조와 식 2-1 퍼셉트론의 구조 2-2 퍼셉트론의 식 2-3 퍼셉트론 구조와 식 설명 x1, x2 입력 신호 w1, w2 가중치, weight - 각 신호가 결과에 주는 영향력을 조절하는 요소 - 가중치가 클수록 해당 신호가 그만큼 더 중요하다는 뜻 θ 임계값, -b b 편향, bias, ..

반응형