TensorFlow 22

신경망 첫걸음, 02 분류자 학습시키기

선형 분류자를 학습(train) 시켜서 애벌래와 무당벌레를 잘 분류할 수 있게 만들려고합니다. 이 문제는 2개의 그룹을 분리하는 직선의 기울기를 어떻게 결정하느냐 하는 단순한 문제 우선 학습시킬 예제 데이터가 필요합니다. 예제 폭 길이 곤충 1 3.0 1.0 무당벌레 2 1.0 3.0 애벌레 우리에게는 3.0cm 폭 / 1.0cm 길이를 가지는 무당벌레와 1.0 폭 / 3.0 길이를 가지는 애벌레 데이터가 있습니다. 이 예제 데이터는 실제로 존재하는 곤충들의 실제 값을 의미. 이러한 데이터를 예제 데이터를 학습 데이터 (Training Data) 라고 부른다. 분류자 한개로는 충분하지 않을 수 있다. 대자연의 컴퓨터 , 뉴런

TensorFlow 2022.03.28

신경망 첫걸음, 01. 예측자 와 분류 기초

인공지능 / 딥러닝 에대해서 심도있는 이해를 위해 기초적인 책을 먼저 읽어봅니다. 바로 신경망 첫걸음 인간의 지능을 가진 기계를 찾아서 자연에서 영감을 얻어 인공지능의 황금시대를 열다 1950년대 학자들이 인공지능을 수식으로 풀어내기 시작하면서 인공지능을 실제로 만들수 있다는 낙관적인 전망이 팽배 꿀벌이나 비둘기가 매우 단순한 뇌구조를 가졌음에도 불구하고 복잡한 업무를 수행할 수 있다는 점을 주목 1g 도 안되는 무게의 뇌로 하늘을 날고, 바람에 반응하고, 먹을 것을 발견하고 등등 꿀벌은 약 950,000개의 뉴런을 가지고 있다고합니다. 따라서 기가바이트 이상의 자원을 가지는 최첨단 컴퓨터를 활용하면 꿀벌보다는 좋은 성능을 낼 수 있지않을까 생각합니다. 하지만 컴퓨터가 아무리 방대한 저장능력과 빠른 CP..

TensorFlow 2022.03.28

텐서플로우(Tensorflow), 그래프 생성 및 실행

텐서플로우는 기본적으로 그래프라는 것을 기반으로 동작한다. 그래프는 쉽게말해서 신경망 모양이라고 이해하자. 프로그램을 시각화한것이 위 의 모양이라고하고 우선 X, Y의 값을 생성하고, 이 텐서들을 add라는 명령어로 값을 합친 후 sess.run 이라는 텐서의 실행으로 값을 실행하면 15라는 값이 나오게 된다. 기존의 프로그램과 차이점을 이해가 안될 수 있지만, sess.run 이라는 것을 수행하기 전에는 위의 내용이 실행되지 않는다. 즉 미리 세팅해놓고 sess.run 을 통해서 실제 프로그램을 작동하는 것이 텐서플로우의 방식 import tensorflow as tf with tf.compat.v1.Session() as sess: x = tf.constant(10) y = tf.constant(5)..

TensorFlow 2022.03.25

텐서플로우(Tensorflow), placeholder (플레이스홀더)

텐서플로우에 플레이스 홀더라는 기능있다. 현재 텐서플로우 V2에서는 함수는 사라졌는데 그 개념은 아직 그대로일것같다. 앞서 설명한 것처럼 텐서플로우의 그래프(Graph) 를 미리 만들어 놓고, 필요한 시점에 해당 그래프를 실행하는 지연실행 (Lazy evaluation) 이라는 방식을 사용한다. 이런 내용에 걸맞게 플레이스홀더는 변수의 타입을 미리 설정해놓고 필요한 변수를 나중에 받아서 실행하는 것을 의미 텐서플로우는 신경망을 구현하기 때문에 신경망과 가장 어울리는 변수 설정이 바로 플레이스 홀더 신경망을 구현하기 위해서는 우선 Input node 와 Output node 를 설계합니다. Input node 는 Feature들이고, Output node는 연산되어서 최종적으로 나오는 결과물일 것이다. 그..

TensorFlow 2022.03.25

Tensorflow, 케라스 (Keras) 이건 또 뭐니?

케라스(Keras)는 파이썬으로 작성된 오픈 소스 신경망 라이브러리이다. MXNet, Deeplearning4j, 텐서플로, Microsoft Cognitive Toolkit 또는 Theano 위에서 수행할 수 있다. 딥 신경망과의 빠른 실험을 가능케 하도록 설계되었으며 최소한의 모듈 방식의 확장 가능성에 초점을 둔다. ONEIROS(Open-ended Neuro-Electronic Intelligent Robot Operating System) 프로젝트의 연구적 노력의 일환으로 개발되었으며 주 개발자이자 유지보수자는 구글의 엔지니어 프랑소아 숄레(Francois Chollet)이다. 2017년, 구글의 텐서플로(Tensorflow) 팀은 텐서플로의 코어 라이브러리에 케라스를 지원하기로 결정하였다. Ch..

TensorFlow 2022.02.10