딥러닝

    [인공지능/딥러닝/AI] 합성곱 신경망 CNN(Convolutional Neural Network)

    CNN은 딥러닝을 적용하는 거의 모든 분야에서 사용이 되고 있습니다. 특히 이미지 인식 분야에서는 정확한 성능으로 인해 가장 많이 사용되고 있습니다. 일반 신경망 아키텍처와 CNN 아키텍처의 차이 2020/08/26 - [인공지능 AI] - [인공지능/AI]텐서플로를 이용한 MNIST 딥러닝학습 이전 게시글에서 공부했던 일반 신경망 아키텍처는 입력층,은닉층,출력층으로 이루어져 1. 입력데이터에 대해 2. 피드포워드를 수행하여 출력값 계산하고, 3. 정답T와 출력값을 비교하며 cross-entropy 손실함수 값을 구해서 4.최소가 될 때까지 오차역전파를 이용해 값을 최적화해갑니다. 하지만 합성곱 신경망 CNN 아키텍처는 위 일반신경망의 은닉층 부분이 1개 이상의 콘벌루션층(Convolutional Lay..

    [딥러닝/인공지능] 오차역전파(Back Propagation)

    이전에 배운 MNIST 알고리즘은 학습시간 평균 20시간 이상이다. 결코 좋은 알고리즘이 아니다.. 수치미분을 통해 수행한 MNIST는 은닉층 노드개수를 정확도높이기위해 증가할수록 학습시간이 엄청나게 소요된다. 이 단점을 해결하기 위해 나온 알고리즘이 바로 오차역전파다. 오차역전파는 딥러닝의 꽃이다. 체인룰에 의해서 분해되어 1,2,3 등 국소적인미분의 곱셈 형태로 나타낼 수 있다. 즉, 편미분식을 그대로 계산하는 것이 아니라 체인룰을 적용하여 국소미분으로 분리한 다음, 분리된 국소미분을 계산하기 쉬운 형태의 수학공식으로 나타내는 것을 오차역전파라고 한다. 은닉층 오차역전파공식은 (E1나 E2중 하나에게만 영향받는) 출력층과 다르게 E1와 E2에게 모두 영향을 받는다.

    [딥러닝/인공지능]MNIST(필기체 손글씨)

    딥러닝구조를 이용하여 MNIST, 즉 필기체손글씨를 인식할 수 있습니다. np.loadtxt()함수를 이용하여 트레이닝데이터행렬을 만들 수 있습니다. Train Data Set 과 Test Data Set 을 활용해보겠습니다. 학습데이터인 Train Data Set에는 총 6만개의 이미지데이터가 있습니다. 하나의 이미지는 28*28개로 총 784개의 숫자로 이루어져 있습니다. 위 Train Data Set 파일에서 처음 5라는 숫자는 정답 숫자에 대한 정보이고 그 이후로 784개의 숫자가 이미지를 나타내는 정보입니다. 픽셀 하나의 밝기값이라고 볼 수 있습니다. 0에 가까울수록 검은색이고 255에 가까울수록 밝은(흰)색입니다. 학습데이터에서는 하나의 이미지가 784개의 숫자를 가진 1차원 배열로 표현되지만..

    [딥러닝/인공지능]딥러닝기초_피드포워드/XOR문제해결

    신경망(NN) 개념 사람의 신경망을 구성하는 신경세포 뉴런은 각각의 입력 신호에 최적의 가중치를 곱한 모든 합이 어느 임계값(Threshold)에 도달해야만 다음 뉴런으로 출력신호를 보내는 구조다. 이처럼 입력 신호를 받아서 특정임계값을 넘어서야만 출력을 생성하는 함수를 활성화함수라고 한다. 딥러닝 기초 딥러닝은 입력층, 은닉층, 출력층을 구축한 다음, 출력층의 오차를 기반으로 오차가 가장 작아지도록 각 층 사이에 존재하는 가중치(W2,W3..),각 층의 바이어스(b2,b3...)값을 최적화하는 머신러닝의 한 분야다. 참고로 딥러닝 구조에서 은닉층을 더 사용할수록 결과의 정확도가 높아진다고한다. 은닉층을 깊게할수록 정확도가 높아진다고 하여 '딥'용어가 붙었다. 피드포워드(Feed Forward) 위의 그..

    [딥러닝/머신러닝]논리게이트 XOR문제(XOR problem)

    Logistic Regression(미분)을 이용했을때 (추후에 Logistic Regression 게시글도 게시예정) XOR 게이트를 구현이 불가능하다. AND, OR, NAND게이트는 1개의 분류 시스템만으로도 구현가능하지만 XOR게이트는 여러개의 분류시스템을 조합해서 구현해야한다. 그래서 미분을 사용했던 머신러닝이 아닌 (머신러닝의 다른 한 분야인) 딥러닝을 이용한다. 딥러닝의 핵심 아이디어가 여러 분류 시스템을 조합하여 데이터 특성과 상관관계를 분석하는 것이다. 기본적으로 우리가 알고 있는 AND OR NAND XOR게이트의 정답 데이터는 AND: 0001 OR:0111 NAND:1110 XOR:0110 이다. 입력데이터는 각각 ([0,0],[0,1],[1,0],[1,1])이다. (입력 데이터는 ..