2023/01/11 3

구글 Colab에서 TensorFlow 버전 1.15를 사용한 MNIST 예제

구글의 머신러닝 지원 라이브러리인 텐서플로우는 1.x 버전에서 1.15까지 업그레이드 된 후 2.x 버전으로 넘어와 현재 2.92까지 진화하였다. 초기의 1.x 버전에서는 그래프 파트와 실행 파트를 명확하게 구분해서 코드 작업이 이루어졌던 반면 2.x 버전에서는 그러한 구분이 사라져버린 근본적인 차이를 보여준다. 초보자들이 Colab에서 처음으로 2.x 버전의 텐서플로우를 사용한 MNIST 코드를 갑자기 경험하는 경우 머신러닝의 진면목을 제대로 이해하기 어려운 상황을 겪을 수 있기 때문에, 버전 1.15에서 사용했던 MNIST 코드 그래프 구조를 살펴만 보고 2.x 버전에서 어떤 방식으로 진화했는지 직접 Colab에서의 코딩 작업을 통해 살펴보도록 하자. 1 !pip install tensorflow==..

구글 Colab 노트북 사용법

컴퓨터 코딩을 다루다 보면 흔하게 접하는 용어로서 Front end 와 Back end 가 있다. 컴퓨터 코딩에서 Front end 란 코드를 작성 수정 빌드 업로딩 저장 및 라이브러리 설치를 지원하기 위한 편집 시스템을 뜻한다. 간단한 예로서는 아두이노 IDE를 들 수 있을 것이다. 마찬가지로 머신 러닝을 위한 코드 편집 작업을 위해서는 이미 잘 알려진 툴이 있다. 너무나 잘 알려진 아나콘다를 비롯하여 여러 가지 툴이 있을 수 있다. 특히 아나콘다에는 Spyder 편집기와 Jupyter Notebook 이 대표적이다. 반면에 Back end 는 일종의 Solver를 뜻한다. TensorFlow, Keras, PyTorch 와 같은 라이브러리들이 머신러닝을 위해 Front end에 설치되는 대표적인 Ba..

다층신경망(multilayer neural network) 확장

이 그림은 퍼셉트론 네트워크 구조를 나타낸다. 입력항 xi 가 가중치 wi 를 적용한 후 편향 값을 반영하여 y 가 연산되며 y 에 대해 문턱값 처리 후 출력이 일어난다. 생체 내에서는 다수의 뉴론들이 엮여있는 것처럼 이러한 단위 뉴론 구조를 어떻게 복합적으로 직병렬 연결할 것인지 고려해보자. 이 그림에서는 입력데이터가 복합적으로 처리되는 신경망 사례를 나타낸다. 실제로 MNIST 수기문자 판독을 위한 단일 레이어 머신러닝 코드 작성 시 하나의 문자 28X28=784 이미지 데이터는 1X784 리스트 데이터로 표현되며 이에 상응하는 가중치 매트릭스는 784X10 리스트 데이터 구조로 사용됨에 유의하자. 단일 레이어 신경망을 아래와 같이 2단 구조로 확장해 보자. 2단에서는 bias(바이어스, 편향) 항을..