머신러닝 283

1-23 Microstate 수로부터 유도하는 볼츠만 확률분포 공식과 softmax classifier

머신 러닝에서 가장 보편적으로 사용하고 있는 softmax classifier가 1800년대 후반 통계 역학의 바탕을 수립했던 볼츠만 분포의 차용에 연원하고 있다는 믿겨지지 않는 사실을 살펴보기로 하자. 입자들이 포함된 용기의 내부 온도가 일정하고 입자들의 전체 에너지가 보존된다는 조건하에서 각각의 입자들은 서로 다른 위치와 속도분포를 가지게 되므로 물리적으로 가능한(probable) microstate의 경우의 수가 수없이 많아지게 되는데 이러한 상황을 통계 확률적으로 고려해 보자. 현실적이면서도 물리적인 상황에서 용기 내부에는 입자 1몰만 잡아도 6에 10의 23 승만큼의 입자 수에 해당하므로 엄청나게 많은 수의 입자가 들어 있음을 알 수 있다. 하지만 볼츠만 분포에서 확률분포의 형태를 알아냄에 있어..

머신러닝 2021.06.26

1-22 이미지 픽셀 머신 러닝의 확률분포에 어떻게 볼츠만 확률분포를 사용할 수 있는가?

1800년대 후반에 볼츠만은 미시적인 원자나 분자의 물성이 물질의 거시적인 상태에서의 물성과 어떤 관계에 있는지를 깊이 고찰하여 물리학에서 통계역학의 토대를 쌓았으며 그의 대표적인 아이디어가 바로 볼츠만 분포와 엔트로피 공식(S=k lnW)일 것이다. 볼츠만의 연구내용을 요약해 보면 용기 속에 가두어둔 수많은 개개의 기체 입자들의 미시적인 관점에서 위치와 에너지를 고려하여 거시적인 관점의 열역학적 상태 변수 압력, 부피, 온도, 엔트로피와의 관계를 설정하는 작업이었다. 위 그림에서처럼 입자 또는 기체가 처해 있는 상태를 보여주는 열역학 시스템은 1법칙과 2법칙으로 연관된다. 열역학(Thermodynamics)에서 Thermo란 열을 뜻하며 dynamics는 변동을 뜻한다. 즉 열역학이란 시스템의 열적 변..

머신러닝 2021.06.26

1-21 머신 러닝 softmax classifier와 볼츠만 확률분포와의 연관성

머신 러닝과 인공지능은 최근에 활성화된 것은 사실이나 그 연원은 결국 2차 대전이 끝날 무렵으로서 컴퓨터의 시작 시기인 튜링이나 폰노이만 시대까지 거슬러 올라간다. 아울러 50년대 중반 반도체 시대의 문을 열었던 노벨상에 빛나는 트랜지스터의 발명을 통해 컴퓨터 하드웨어 및 소프트웨어 발전의 포문을 열게 된다. 이어서 50년대 말 Rosenblatt의 퍼셉트론 하드웨어 및 소프트웨어 코드 개발 성공과 아울러 컴퓨터의 인공지능화에 대한 환상에 불을 당기게 된 듯하다. 아마도 사진의 이 장치는 릴레이, 커넥터, 토글스위치, 교류 전압조정 슬라이닥스들로 구성된 60년대 초 퍼셉트론 징치의 일부 인 듯한데 Rosenblatt이 직접 실험실에서 연구 중인 듯하다. 지금 2018년 현재 다루고 있는 대부분의 뉴럴 네..

머신러닝 2021.06.26

머신 러닝 퍼셉트론의 선구자 Rosenblatt 전기

60년 전에 AI의 길을 연 Rosenblatt 박사 1958년 7월 미국 해군 연구실에서 놀라운 발명을 소개하게 되었다. 방을 가득 채우는 크기의 5톤 컴퓨터인 IBM 704에는 일련의 펀치 카드를 읽어 들였다. 50 번의 시행착오 연습 끝에 컴퓨터는 왼쪽과 오른쪽에 마크 표시한 펀치 카드들을 구별하는 방법을 스스로 학습했다. 1956년, 발명자인 Frank Rosenblatt 박사에 의하면 이것은 "스스로 고유한 아이디어를 가질 수 있는 즉 생각할 수 있는 최초의 기계"였던 "퍼셉트론"의 시연이었다. 당시 Rosenblatt 박사는 후에 그는 뉴욕 버팔로에 위치한 코넬대학의 신경 생물학과 연구 부교수로서 부임하였는데 코넬 항공 연구소의 연구 심리학자 겸 프로젝트 엔지니어 업무를 담당했다. Rosenb..

머신러닝 2020.10.11

머신러닝에의 초대

머신 러닝과 인공지능은 최근에 활성화된 것은 사실이나 그 연원은 결국 2차 세계 대전이 끝날 무렵으로서 컴퓨터의 시작 시기인 튜링이나 폰노이만 시대까지 거슬러 올라간다. 아울러 50년대 중반 반도체 시대의 문을 열었던 노벨상에 빛나는 트랜지스터의 발명을 통해 컴퓨터 하드웨어 및 소프트웨어 발전의 포문을 열게 된다. 이어서 50년대 말 Rosenblatt의 퍼셉트론 하드웨어 및 소프트웨어 코드 개발 성공과 아울러 컴퓨터의 인공지능화에 대한 환상에 불을 당기게 된듯하다. 머신 러닝의 초창기는 1957년으로 거슬러 올라간다. 이미 1956년에 실리콘 밸리에서 활약했던 윌리암 쇼트키를 비롯한 3인의 과학자가트랜지스터 발명에 대한 업적으로 노벨상을 수상한 다음 해인데 이미 집적회로(IC:Integrated Cir..

머신러닝 2020.09.20

TensorFlow Lite mnist.tflite 준비를 위한 Keras 예제

TensorFlow Lite 안드로이드 스튜디오 코드의 asset 폴더에 업로딩 할 수 있도록 구글 Colaboratory에서 MNIST Keras 예제를 실행하여 학습 결과를 binary 형태로 출력 저장하자. 우선 이 코드를 실행해 보기 전에 구글 Colab에서 Default 로 지원되는 TensorFlow 의 버전이 2.0 이상인지 확인해 보도록 하자. 다음 코드는 구글 Colabotory에서 실행 가능한 가장 간략한 형태의 Keras MNIST 뉴럴 네트워크 사례이다. Keras 데이터세트로부터 MNIST를 불러 와서 학습용(train) 과 테스트용(test)으로 튜플 데이터 구조로 나눈 후 x_train 과 x_test를 255 로 나누어 0.0~1.0 사이의 값을 가지도록 한다. 한편 y_tr..

머신러닝 2020.08.06

공기정화식물 Keraslens Fresh/Wilt 구글 Colab에서 머신 러닝

참조: https://medium.com/analytics-vidhya/how-to-do-image-classification-on-custom-dataset-using-tensorflow-52309666498e How to do Image Classification on custom Dataset using TensorFlow Image classification is basically giving some images to the system that belongs to one of the fixed set of classes and then expect the… medium.com 공기정화 식물이 싱싱한지 아니면 수분 부족으로 인해 시들시들해졌는지 스마트폰 사진촬영을 통해서 살펴보자. Capacit..

머신러닝 2020.08.06

자동차 번호판 문자열 인식을 위한 Tesseract_OCTR 라이브러리 설치

아나콘다 Envirinment를 열어 가상공간을 지정 후 콘다 창을 열어 “pip install ∙∙∙” 명령을 사용하여 설치하는 것이 통례이지만 Tesseract-OCR 의 경우에는 적용이 도지 않는다. 아나콘다 이전부터 사용되던 라이브러리로서 특수성이 있으므로 아래의 절차를 참고하자. 차량에서 번호판만을 OpenCV Contour 명령을 사용하여 추출하여 strings.png 로 저장 후 이 png 이미지 파일을 읽어서 Tesseract-OCR 코드를 사용하여 문자열 정보를 추출해보자. OpeCV 및 imutils 는 이미 설치되어 있으므로 Tesseract-OCR 폴더 및 이 폴더 내에 tesseract.exe 실행파일을 설치하도록 하자. Tesseract-OCR 라이브러리는 아래의 url 주소에서..

머신러닝 2020.08.06

OpenCV 자동차 번호판 문자열 인식

※파이선 코딩 초보자를 위한 텐서플로우∙OpenCV 머신 러닝 2차 개정판 발행 http://blog.daum.net/ejleep1/1175 파이선 코딩 초보자를 위한 텐서플로우∙OpenCV 머신 러닝 2차 개정판 (하이퍼링크) 목차 pdf 파일 본서는 이미 2021년 11월 초부터 POD코너에서 주문 구입이 가능합니다. 참고로 책 목차에 따른 내용별 학습을 위한 코드는 이미 대부분 다음(Daum)블로그에 보관되어 있으며 아래에서 클릭하면 해당 blog.daum.net OpenCV를 사용하여 자동차 번호판 인식을 위한 예제코드를 살펴보자, 자동차 번호판 문자열 인식을 위한 알고리듬이 많겠지만 그 중에서도 간단한 번호판의 4 코너를 찾는 알고리듬을 사용하기로 한다. 아울러 차량의 측면에서 번호판을 찍되 그..

머신러닝 2020.08.01

Keras 에 의한 CIFAR-10 구글 Colabo GPU 처리

구글 Colabo에서 Keras에 의한 CIFAR-10 image classification 작업을 GPU를 사용하여 처리해 보자. 구글 Colabo에서 imprt tensorflow as tf 명령 실행 후 tf.__version__ 명령을 사용하여 현재 설치되어 있는 텐서플로우 버전을 살펴보면 Default 가 2.2.0 임을 알 수 있다. keras.dataset 로부터 cifar10을 라이브러리로 불러들여 학습자료(train_X, train_Y) 와 테스트자료(test_X, test_Y) 튜플로 처리해 버리자. 토론토 대학 서버로부터 zip 파일을 다운 받아 압축을 해제한다. 학습자료 train_X 중에서 0번서 5번까지 그래픽 출력해 보자. 개구리, 트럭,트럭, 개, 자동차, 자동차 순이다. K..

머신러닝 2020.06.09