우니Blog

고정 헤더 영역

글 제목

메뉴 레이어

우니Blog

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (35)
    • Artificial Intelligence (25)
    • Bigdata (0)
    • IT Article (2)
    • Error (2)
    • 논문분석 (3)
    • NLP (0)

검색 레이어

우니Blog

검색 영역

컨텐츠 검색

deep learning

  • [Deep Learning - 딥러닝]수학 배경 지식(벡터, 행렬, 연쇄법칙, 합성함수, 미분, 기울기)

    2019.09.21 by [성운]

  • [Deep Learning - 딥러닝]MNIST Classification - 손글씨 분류기 소스 구현

    2019.09.19 by [성운]

  • [Deep Learning - 딥러닝]MNIST Classification - 손글씨 분류기 소스 구현

    2019.09.14 by [성운]

  • [Deep Learning - 딥러닝]MNIST Classification - 손글씨 분류기

    2019.09.13 by [성운]

  • [Deep Learning-딥러닝]Activation Function-활성화 함수(Sigmoid, Hyperbolic Tangent, Softmax, ReLu)

    2019.09.13 by [성운]

  • [Deep Learning-딥러닝]CNN(Convolution neural network) - 합성곱 신경망

    2019.09.01 by [성운]

  • [Deep Learning-딥러닝]딥러닝 정의 및 출현 배경 - 그래디언트 소실, 과적합(Over fitting), 많은 연산량

    2019.08.24 by [성운]

  • [Deep Learning-딥러닝]Multi Classification - 다범주분류 및 소스프맥스 소스 구현

    2019.08.19 by [성운]

[Deep Learning - 딥러닝]수학 배경 지식(벡터, 행렬, 연쇄법칙, 합성함수, 미분, 기울기)

이번 포스팅은 딥러닝을 이해하기 위해 선행학습으로 수학 내용을 정리했습니다. 수학에 대한 깊이 있는 내용 보다는 간단한 정의 위주로 정리했으며, 깊은 내용은 타 사이트를 참고 바랍니다. Vector and Matrix: 벡터와 행렬 벡터는 크기와 방향을 가진 양입니다. 벡터는 숫자가 일렬로 늘어선 집합으로 표현할 수 있으며, 파이썬에서 1차원 배열로 numpy.array()함수를 이용해 처리할 수 있습니다. 행렬은 숫자가 2차원 형태(사각형 형상)로 파이썬에서 numpy.array()함수를 이용해 처리할 수 있습니다. Dot product: 벡터의 내적 벡터의 내적은 두 벡터에서 대응하는 원소들의 곱을 모두 더한 것입니다. 벡터의 내적의 수식은 다음과 같습니다. 벡터의 내적은 ‘두 벡터가 얼마나 같은 방..

Artificial Intelligence 2019. 9. 21. 12:48

[Deep Learning - 딥러닝]MNIST Classification - 손글씨 분류기 소스 구현

이번 포스팅은 MNIST 구현에 대해서 알아보겠습니다. MNIST 정의는 https://ynebula.tistory.com/43 포스팅을 참고바랍니다. Archtecture 이미지 데이터의 크기가 28*28 입니다. 딥러닝 구현이므로 은닉층을 2개로 구성하고 첫 번째 필터는 32개 두 번째 필터는 64개로 구성합니다. 은닉층 활성화 함수를 ReLU를 사용하며, 분류를 위해 Softmax() 함수를 사용합니다. Souce 구현 컨볼루션 계층을 구현하기 위해 다음 두 개 라이브러리 임포트가 필요합니다. 텐서플로 1.7.0 버전에서부터는 샘플 데이터를 다운로드하는 기능이 제외될 예정이라는 경고가 발생합니다. 대신 케라스(Keras)를 사용하여 MNIST 데이터를 다운받습니다. 배치 데이터를 만들기 위해 파이썬..

Artificial Intelligence 2019. 9. 19. 22:12

[Deep Learning - 딥러닝]MNIST Classification - 손글씨 분류기 소스 구현

이번 포스팅은 MNIST 구현에 대해서 알아보겠습니다. MNIST 정의는 https://ynebula.tistory.com/43 포스팅을 참고바랍니다. MNIST 구현을 위해 다음 두 개 라이브러리 임포트가 필요합니다. MNIST의 데이터는 텐서플로에서 제공합니다. 그래서 따로 다운로드 할 필요 없이 임포트해 사용하면 됩니다. 하지만 텐서플로 1.7.0 버전에서부터는 샘플 데이터를 다운로드 하는 기능이 제외될 예정이라는 경고가 발생합니다. 대신 케라스(Keras)를 사용하여 MNIST 데이터를 다운받기를 권장해 드립니다. 데이터 셋의 구성을 확인해보겠습니다. training 데이터는 (60000, 784) 되어 있습니다. 첫 번째 차원은 각 이미지에 대한 인덱스이며 두 번째 차원은 이미지 안의 픽셀 수를..

Artificial Intelligence 2019. 9. 14. 12:58

[Deep Learning - 딥러닝]MNIST Classification - 손글씨 분류기

보편적으로 딥러닝을 배울 때는 손 글씨 숫자 이미지를 인식하는 문제로 시작합니다. 이번 포스팅은 텐서플로에서 어떻게 단일 계층 신경망을 만들고 손글씨 숫자를 인식하는지 살펴보겠습니다. MNIST란 MNIST는 Modified National Institute of Standards and Technology database 손으로 쓴 숫자들로 이루어진 대형 데이터베이스이며 지도학습입니다. 즉 이미지 데이터에는 그 이미지가 어떤 숫자인지를 나타내는 레이블(label) 정보가 함께 들어 있습니다. 출력 점수와 기대 점수의 차이를 측정하는 오차함수를 계산할 것 입니다. 학습 모델은 오차를 줄이기 위해 가중치(weight) 매개변수를 조정하게 됩니다. MNIST 데이터 셋 다운로드 및 이미지 분석 MNIST 데..

Artificial Intelligence 2019. 9. 13. 16:11

[Deep Learning-딥러닝]Activation Function-활성화 함수(Sigmoid, Hyperbolic Tangent, Softmax, ReLu)

활성함수 포스팅은 계속 업데이트 될 예정입니다. Sigmoid function Sigmoid의 출력 범위는 [0, 1] 사이며 식은 다음과 같습니다. Sigmoid 함수는 양수로 커질수록 1에 가까워지고 음수로 갈수록 0에 가까워집니다. x값이 커지면 expax 는 무한대에 가까워져 1에 수렴됩니다. 반대로 x값이 작아지면 expax 이 0이되면서 0으로 수렴하게 됩니다. 그리고 a값에 따라 sigmoid graph의 경사가 달라지는데 값이 커질수록 가팔라집니다. b 가 커지면 x가 0일 때 값이 0.5보다 커지고 b 가 작아지면 x가 0일 때 값이 0.5보다 작아집니다. Sigmoid를 미분한식은 x축 0에 가까울수록 결과값이 커집니다. 즉 training이 잘 된다는 의미입니다. 반면, 0에서 멀어지..

Artificial Intelligence 2019. 9. 13. 15:43

[Deep Learning-딥러닝]CNN(Convolution neural network) - 합성곱 신경망

이번 포스팅은 컨볼루션 신경망(Convolution neural network) 입니다. 컨볼루션 신경망은 영상 인식에 특화된 딥러닝입니다. 컨브넷(ConvNet)은 1980~90년대에 개발된 기술입니다(LeCun Y.et., "Handwritten digit recognition with a back-propagation network") 컨브넷의 구조 컨브넷은 뇌의 시각피질이 이미지를 처리하고 인식하는 원리를 바탕으로 한 신경망입니다. 기본적으로 영상 인식은 분류 문제에 해당합니다. 예를 들어 사진을 보고 고양이인지 개인지 인식해내는 문제는 해당 사진을 개와 고양이 중 어느 범주로 분류할 지와 같은 문제입니다. 이러한 이유로 영상 인식에 사용되는 컨브넷의 출력층은 다범주 분류 신경망으로 구성하는 게 ..

Artificial Intelligence 2019. 9. 1. 14:02

[Deep Learning-딥러닝]딥러닝 정의 및 출현 배경 - 그래디언트 소실, 과적합(Over fitting), 많은 연산량

딥러닝을 간단하게 정의하면 ‘심층 신경망을 이용한 머신러닝 기법’이라고 할 수 있습니다. 심층 신경망은 은닉층이 2개 이상인 다층 신경망을 의미합니다. 딥러닝이란 은닉층이 2개 이상으로 이루어진 신경망을 말합니다.(보통 2~3개) 다른 말로 다층/심층 신경망이라고 부릅니다. 과거에는 은닉층이 많으면 많을수록 성능이 좋다고 생각했습니다. 이론적으로 Hidden layer가 많으면 비선형이고 다차원인 결정 경계 학습법으로 수학적 모델보다 실 세계를 더욱 정교하게 표현(예측)할 수 있으며, 더 좋은 성능을 낼 수 있을 거로 생각했습니다. 하지만 현실은 그래디언트 소실, 과적합, 많은 연산과 같은 한계점을 나타내 한동안 인공지능 연구 분야가 침체기를 맞이하였습니다. 이번 포스팅은 단층 신경망의 한계를 알아보고 ..

Artificial Intelligence 2019. 8. 24. 11:09

[Deep Learning-딥러닝]Multi Classification - 다범주분류 및 소스프맥스 소스 구현

이번 포스팅에는 범주 분류 문제의 예제로는 그림에 쓰여진 숫자를 판독하는 기능을 구현해보겠습니다. 선행 학습으로 다 범주 분류 “https://ynebula.tistory.com/32” 가 필요합니다. Tensorflow library를 이용한 구현은 다음 포스팅에서 구현할 예정입니다. 학습 내용 1에서 5까지 된 숫자를 구분하는 모델을 구현하겠습니다. 판독할 이미지는 다음과 같이 가로, 셀로 각각 5개의 픽셀로 구성된 5*5 크기의 숫자 이미지를 고려합니다. 5개의 범주를 분류하므로 출력층의 노드는 5개로 구성하고, 활성함수는 소프트맥스 함수를 사용합니다. 이미지의 크기가 5*5 행렬이므로 입력 노드의 개수는 25개로 구성합니다. 신경망 모델은 하나의 은닉층 노드의 개수는 50개, 활성함수는 시그모이드..

Artificial Intelligence 2019. 8. 19. 22:24

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
우니Blog Designed by Tistory.
트위터 인스타그램 유투브 메일

티스토리툴바