케라스(Keras)는 텐서플로우(Tensorflow)와 같은 머신러닝 & 딥러닝 엔진 위에 구축된 파이썬용 라이브러리입니다. 현재는 케라스가 텐서플로 프로젝트에 속해 있기 때문에 기본적인 엔진은 텐서플로로 인지하지만 예전에는 씨아노(Theano)를 위한 라이브러리 였습니다. 케라스의 구조 위 구조를 보면 텐서플로 밑에 CPU, GPU, TPU가 있고 위에 케라스가 있는데요. 이와 같이 텐서플로우가 실질적으로 하드웨어(Hardware)를 제어한다면, 케라스는 하드웨어를 제어하는 텐서플로를 제어한다 이해를 하면 될 것 같습니다. 텐서플로가 하드웨어를 얼마나 잘 컨트롤하고, 어떻게 하면 더 효율적이고 효과적인 딥러닝 엔진을 만들 것인지 고민을 하고 있다면, 케라스는 텐서플로우를 제어해서 개발자들이 보다 쉽게 ..
텐서플로 개념 텐서플로(Tensorflow)는 구글(Google)에서 만든 파이썬 기반의 오픈소스 딥러닝 및 머신러닝 플랫폼입니다. 초창기에는 신경망 기반이라 딥러닝 플랫폼으로 인식이 되었는데 머신러닝 알고리즘도 제공을 하기 때문에 딥러닝이 아니라 정확히는 머신러닝 플랫폼이라고 하는 것이 맞을 것 같네요. 텐서플로우는 넘파이(NumPy)와 비슷하게 엔지니어들과 연구자들이 텐서에 대한 수학적 표현을 적용할 수 있도록 하며 쉽게 머신러닝 모델을 만들 수 있도록 도와줍니다. 텐서플로의 장점 미분 가능한 어떤 표현식에서도 자동으로 그레디언트를 계산할 수 있으므로 머신러닝에 적합 CPU 뿐만 아니라 병렬화된 하드웨어 가속기인 GPU 및 TPU에서도 실행 가능 여러 머신에 분산 시킬 수 있음 텐서플로는 다른 런타임..
텐서(Tensor)의 개념 텐서(Tensor)는 머신러닝에서 사용하는 데이터 구조이며 기본 구성 요소입니다. 우리가 잘 알고 있는 텐서플로우 (Tensorflow) 역시 이 데이터를 구성하는 요소에서 따온 말입니다. 텐서는 데이터를 전달해주기 위한 컨테이너(Container)라고 생각해도 되는데요. 텐서는 사실 수학에서 사용하는 용어로 벡터 계산을 단순화하기 위해 같은 성질의 벡터들을 한 행렬 안에 표기하고 단순화하여 표기한 것이기도 합니다. 텐서의 종류 스칼라(Scalar) = Rank-0 Tensor = 0D Tensor 하나의 숫자값을 담을 수 있는 텐서를 스칼라(Scalar)라고 합니다. 우리가 흔히 숫자형으로 이루어진 변수에 값을 하나 담았다면 이 값은 딥러닝에서는 스칼라라고 합니다. 스칼라는 ..
많은 분들이 헷갈려 하시는 것이 있는데 바로 인공지능(Artificial Intelligence)과 머신러닝(Machine Learning) 그리고 딥러닝(Deep Learning)의 차이를 모르시고, 3가지의 구분되는 개념을 동일한 개념으로 이해를 하시는 분들이 많습니다. 인공지능(Artificial Intelligence) 3개의 용어 중 최상위 개념이 바로 인공지능입니다. 최상위라는 말에서 알 수 있듯 머신러닝 혹은 딥러닝은 인공지능 이라는 개념의 하위 용어이기도 합니다. 한마디로 수학으로 따지면 포함한다라는 뜻과 같습니다. 인공지능은 사람들이 느꼈을 때, 마치 지능이 있을 법한 행동을 하는 프로그램을 뜻합니다. 즉 지능을 구현하기 위해서 상당히 많은 노가다성 코딩이 있거나 하여도 사람들이 인공지능..