Book Review/[케라스 창시자에게 배우는 딥러닝] 리뷰14 텐서플로우를 통한 딥러닝 모델 직접 구현 앞선 포스트에서는 keras를 이용하여 딥러닝의 간단한 구조를 이해하고 모델을 만들어서 학습해보았습니다. 이번 포스트에서는 그 과정을 직접 코드로 구현하여 보다 완전하고 명확하게 딥러닝의 구조를 이해해보고자 합니다. 기본적인 텐서연산과 역전파는 직접 구현하진 않지만 케라스의 기능을 사용하지 않는 저수준의 구현을 해보겠습니다. 이번에 나오는 내용이 이해가 안되더라도 계속해서 포스트에서 설명할 것이기 때문에 일일히 모든 것을 이해할 필요는 없습니다. 다만, 각각의 구체적인 구현에서 어떠한 부분이 핵심 내용인지 짚고 넘어가는 것은 필수적입니다. 우선 단순한 dense클래스를 구현해보겠습니다. output = activation(dot(W, input) + b)의 식을 기억하실겁니다. W는 가중치, b는 편향으.. 2022. 12. 7. keras API를 통한 간단한 딥러닝 모델 만들기 이전 포스팅에서는 딥러닝을 위해 필요한 기본적인 개념들에 대해 알아보았습니다. 이번에는 딥러닝이 이뤄지는 구조를 알아보고, 그 구조를 직접 예제를 통해 구현해보는 시간을 가져보겠습니다. 딥러닝의 구조는 다음 그림1과 같습니다. 층이 서로 연결되어 모델을 구성하고, 모델은 입력데이터로 예측을 합니다. 그 다음 예측과 실제 값을 비교하여 손실 값을 계산하고(모델이 얼마나 잘 예측했는지 파악함), 옵티마이저를 통해 이 손실값을 최소화하는 방향으로 모델의 가중치를 업데이트 하는 것입니다. 이러한 구조를 keras API를 사용하여 구현해보겠습니다. from tensorflow import keras from tensorflow.keras.datasets import mnist 우선, keras와 mnist데이터.. 2022. 12. 5. 역전파 알고리즘 (backpropagation) 이전 포스트에서 손실 함수에 대한 그레이디언트를 계산하여 손실 함수가 최소가 되는 지점을 찾는 방식을 배웠습니다. 그렇다면 수 천, 수 만개로 이루어진 모델 파라미터의 그레이디언트를 실제로 어떻게 계산할 수 있을까요? 바로 역전파 알고리즘(backpropagation) 덕분 입니다. 이번 포스팅에서는 역전파 알고리즘에 대해 공부하여 리뷰해보겠습니다. 역전파는 순전파(forward propagation)의 반대 개념입니다. 순전파는 입력 데이터가 은닉층을 따라 출력층으로 나오는 추론 과정을 의미합니다. 그림1의 화살표 방향을 확인해보면 순전파 알고리즘을 파악할 수 있습니다. 개념적으로 순전파 알고리즘의 진행방향을 반대로 바꾸면 역전파 알고리즘이 됩니다. 역전파를 사용하는 이유는 입력층에서 출력층 값이 도출.. 2022. 11. 23. 신경망 이해를 위한 Tensor(텐서), Gradient(그레이디언트) 딥러닝을 이해하려면 여러 가지 수학 개념과 친숙해질 필요가 있습니다. 텐서, 미분, 경사 하강법 등이 있는데요. 이번 포스트의 목표는 비전공자도 이해할 수 있도록 최대한 간결하게 이 수학적 개념들을 설명하는 것 입니다. 수학적 개념들의 연산, 기하학적 해석에 대해서는 언급하지 않고 간결하게 설명해보겠습니다. 수학적 개념들을 설명하기 앞서 신경망의 핵심 구조인 층에 대해 간단히 알아보겠습니다. 신경망의 핵심 구조는 층(layer)입니다. 그림1과 같이 입력층, 중간층(은닉층), 출력층으로 나누어집니다. 입력값이 입력신호로 들어오면 각 층에서 더욱 의미있는 표현을 입력된 데이터로 부터 추출합니다. 즉, 데이터를 정제시키고 표현을 강화하여 결국 의미있는 값을 찾아내는 것을 의미합니다. 이해하기 쉽게 예를 들어.. 2022. 11. 23. 딥러닝이란 ? 딥러닝에서 사용되는 케라스를 공부하기 위해서 '케라스 창시자에게 배우는 딥러닝'책을 공부하고 이를 리뷰하도록 하겠습니다. 우리가 일상에서 생활하다 보면 인공지능, 머신러닝, 딥러닝 이라는 단어를 많이 듣게됩니다. 인공지능을 공부하지 않았다면 이 세가지의 차이는 무엇이고 서로 어떻게 연관되는지 궁금하기 마련입니다. 그렇다면 각각의 개념은 어떻게 나눠질까요? 1. 인공지능 인공지능은 1950년대에 초기 컴퓨터 과학 분야의 선구자들이 ''컴퓨터도 사람처럼 생각할 수 있을까?''라는 질문에 답을 하면서 시작되었습니다. 즉, 인공지능은 보통의 사람이 수행하는 지능적인 작업을 자동화하기 위한 연구활동을 일컫어 말합니다. 초기의 AI는 프로그래머들이 명시적인 규칙을 충분하게 많이 만들어서 데이터베이스에 저장한 지식을.. 2022. 11. 17. 이전 1 2 다음