인공지능 응용 공학 51

통계역학의 볼츠만 확률분포와 엔트로피, Cross Entropy

열역학(Thermodynamics)에서 Thermo 란 열을 뜻하며 dynamics는 변동을 뜻한다. 즉 열역학이란 시스템의 열적 변화를 따져보는 것이 된다. 열역학적 Control Volume 이 잘 정의된 시스템의 경계를 통해 열출입 ∆Q 가 일어나게 되면 아울러 내부의 압력 변동에 따라 Control Volume 의 변동에 따라 일(Work) ∆W 가 행해진다.특히 Control Volume 경게를 통한 열출입 ∆Q=0 이면서 일 ∆W=0 인 이상기체의 물리적 상태를 고려해보기로 한다. 1800년대 후반에 볼츠만은 미시적인 원자나 분자의 물성이 물질의 거시적인 상태에서의 물성과 어떤 관계에 있는지를 깊이 고찰하여 물리학에서 통계역학의 토대를 쌓았으며 그의 대표적인 아이디어가 바로 볼츠만 분포와 엔트..

TensorFlow solution of x - 1.12345 = 0

머신 러닝 연구가 아무리 첨단을 간다 해도 머신 러닝이 그렇게 대단한 툴이라면 이 정도 간단한 문제는 당연히 풀 수 있어야 하겠지. 항상 어려운 어렵고 난해한 문제만 쫓아 다니다 보니 x – 1.12345 = 0 과 같이 우스울 정도로 쉬운 문제를 어떻게 코딩해야 할지 해보기 전에는 막막하다는 생각이 들기도 한다. 물론 머신 러닝이 컴퓨터에 인스톨되기 때문에 기본적인 덧셈, 뺄셈, 곱셈, 나눗셈의 4칙 연산이 가능하므로 양변에 1.12345를 한번 더해주면 끝나는 간단한 문제이지만 이 방법에 의해서 푼다면 그것은 머신 러닝이라 할 수는 없다. 머신 러닝의 특징이 과연 무엇인가? 데이터 학습, random number 생성에 의한 웨이트와 바이아스 설정, hypothesis 설정, 경사하강법 적용 및 웨이..

신경망(Neural Network) 연구의 역사

1. Principal Component Analysis, 1901년 통계학의 Pearson 분포로 유명한 Karl Pearson 이 제시한 차원 감축(Dimension Reduction) 분류 이론인 PCA(Principal component analysis) 기법은 사실상 기계공학 분야에서도 재료역학의 평면응력 텐서 변환을 다루는 Mohr’s Circle 이론을 차용했음을 밝히고 있다. 가장 오래된 머신러닝 이론이기도 하다. 다음 그래프의 수많은 점 데이터는 (x, y) 좌표계에서 2차원 분포를 하고 있지만 선형 변환에 의해 (PC1, PC2) 조표계로 변화하면, PC1 축을 따른 변화량 또는 분산 값이 최대이며 반면에 PC2 축 기준으로는 변화량이 최소화되는 축이기도 하다. 따라서 주축 PC1을 기..

Wine 데이터와 PCA(Principal Component Analysis) 처리

codingart (66)in #kr • 3년 전 (edited) 2차원 평면상에서 타원 내부에 위치하고 있는 2차원 데이터들을 관찰해 보자. 이 데이터들은 서로 수직하는 장축과 단축으로 이루어지는 타원 영역 내에 위치하고 있다. 이와 같이 분포하고 있는 데이터들의 분산 값이 최대가 될 수 있는 축들을 주축(Principal Axes)이라 하며 위의 2차원 분포에서는 2개의 서로 수직한 주축을 찾아낼 수 있는데 하나는 장축이 되며 다른 하나는 단축이 된다. 통계학적 측면에서 타원의 주축들은 분산 값에 대응한다. 즉 데이터들의 평균이 얻어지면 (데이타-평균)의 제곱 값을 합산하여 분산 값이 최대가 될 수 있는 두 개의 축을 찾을 수 있다. 이런 경우에 (데이타-평균) 값들로 매트릭스를 형성하여 그 Tran..

인위적으로 생성한 2그룹 데이터를 이용한 퍼셉트론 예제

퍼셉트론이나 지금의 신경망이나 단위 구조는 동일하다. 다수의 입력에 대해서 출력은 최소 “1” 과 “-1”( 또는 “0”)을 식별할 수 있는 이진 출력이 가능하다. 경우에 따라서는 분류(classification) 목적에 따라 그 이상의 라벨 값들을 가질 수 있다. 예를 들너 MNIST 수기문자판독문제는 “ ~9”까지의 10개, 그리고ImageNet 은 1000개의 라벨 값을 가진다. 2개의 변수로 표현되는 입력 데이터로는 평면 좌표계를 들 수 있다. 이런 입력 데이터에 대한 단위 신경망은 다음과 같이 나타낼 수 있다. 이진분류 시 출력 y 가 “1” 과 “-1”( 또는 “0”)인지 식별할 수 있어야 할 것이다. 아래의 퍼셉트론 예제는 인위적으로 생성한 golden eagle 과 horned owl 2종..

뉴론의 구조와 퍼셉트론, Shannon의 엔트로피, Cross Entropy?

1 뉴론의 구조 신경계 혹은 신경망은 기본적인 단위 구조를 가진다. 즉 이러한 뉴론들이 직병렬로 연결되어 복잡한 네트워크를 구성하게 된다. 아래 그림은 수상돌기의 시냅스를 통해 입력되는 신호의 자중치 부여를 통해 얻어지는 출력 결과가 활성화(activation) 수준의 문턱 전압을 넘는지 못넘는지 이진적으로 처리 후 축색돌기를 통하여 다음 뉴론에 전달하게 된다. 이때 뉴론에서 학습된 가중치값들을 기억하고 있으면 그 다음 입력에 대해서 생리적으로 대응이 가능해지게 된다. 부분의 수상돌기는 앞 단계에 위치한 뉴론으로부터 전기 신호의 입력이 일어나는 부분이다. 이 입력은 시냅스 인터페이스에 의해 뉴론의 핵에서 생화학적인 메카니즘 기반으로 가중(weighting) 처리되어 연산 되고 그 결과 생성된 전압이 문턱..

Iris flower data를 이용한 Rosenblatt 퍼셉트론 파이선 코딩

퍼셉트론 알고리듬에 따라 파이선으로 퍼셉트론 클라스 코딩을 해보자. ⓵ 퍼셉트론 클라스에 필요한 기본적인 파라메터로서 3가지 즉 learning rate, 학습횟수 및 랜덤 수 생성을 위한 seed 수를 준비하자. class 코드에 처음에 eta 값이 0.01 로 지정되어 있지만 메인 코드에서 instance 값으로 0.1 을 부여하게 되면 부여된 instance에 맞춰 class 내 self에 의해서 self.eta 값이 0.1로 변환된다. 마찬가지로 학습 횟수에 해당하는 n_ier를 class 코드에 처음에는 50 으로 두지만 instance 값으로 10의 값을 주면 self에 의해서 self.n_iter 값이 10으로 변환된다. seed 값을 예를 두어 1 로 두면 이 값이 바뀌지 않는한 항상 동일..

Rosenblatt N = 2 Perceptron Weight Update 알고리듬 Processing 코딩

알고리듬으로 설명되고 있는 Rosenblatt의 퍼셉트론 코드가 오래되어서인지 특히 오늘날의 경사하강법을 대신하는 그의 웨이트업데이트 알고리듬이 제대로 돌아가는 것인지 의문스럽게 느껴졌던 것이 사실이다. 퍼셉트론에 대한 유튜브 동영상 및 인터넷 검색 결과 Rosenblatt의 알고리듬에 직접 쓰여 있는 것은 아니지만 error 개념을 도입하여 이 부분을 처리하고 있었다. 중간에 필요한 의견을 넣어 작성하였지만 이 error 개념이 Rosenblatt이 직접 고안했던 기법인지 여부는 알 수 없으나 여하튼 Rosenblatt의 알고리듬을 잘 반영하는 기법인 듯하다. 아울러 후반에 400개의 점 데이터를 작도한 결과들이 있는데 Rosenblatt 의 N = 400 과 결코 혼동해서는 안된다. 이번 블로그 내용..

McCulloch과 Pitts, Rosenblatt, Minsky에 이르는 초창기 신경망 연구의 역사 명과 암

빛의 밝기에 반응하는 photocell로 입력 장치로 구성되는 Rosenblatt의 퍼셉트론의 중요한 용도는 400개의 센서를 통해 입력되는 데이터 처리에 의해 문자를 인식하는 것이다. 그가 사용했던 photocell 은 오늘날의 조도센서로 알려져 있는데 2개를 사용하여 random 한 입력 벡터를 실제로 생성할 수 있다. 그방법은 건물의 앞뒤에 각각 조도센서를 설치해 두면 서로 다른 값을 가지는 potocell 데이터 1세트가 얻어지며 하루 종일 해가 움직이므로 그 값의 변동이 있게 된다. 즉 숫자 예제 데이터가 아니라 현실적으로 발생하는 데이터이다. 지구상에서는 이 장치를 이용해 건물 주변의 조명을 자동으로 ON OFF 하는 수준에서 사용이 가능하겠지만 만약에 달나라에 기지를 태양 빛의 음영이 생성되..

MNIST 딥러닝과 CNN 딥러닝

1959년에 고양이의 시각피질의 반응 연구로 시작된 닥터 Hubel 의 연구는 1998년 LeCUN 교수의 MNIST 수기문자판독 연구에서 그가 발명한 LeNet 의 실질적인 응용이 이루어졌다. 미국 우편 체계에서 편지를 보낼 경우 수발신 란에 수기로 작성되는 소속 주(state)와 숫자로 표시되는 주소를 의미한다. 손글씨로 쓴 0~9 까지의 숫자 7 만개를 28X28 즉 784개 흑백 픽셀 이미지로 채집하여 데이터세트를 구성하였다. 6 만개는 수기 숫자 학습용이며 나머지 1 만개는 학습된 가중치를 사용하여 학습이 잘되었는지 통계학적으로 컨펌(confirm) 해보는 또는 validation 즉 타당성을 체크 해보는 테스트용으로 사용한다. 손글씨 데이터는 분명히 0 ~ 9까지의 10종류의 데이터로 균등한 ..