Python/인공지능

    다중차원 선형모델 직접 구현

    저번 글에서 간단한 선형 예측 모델을 직접 구현해 봤는데, 이번에는 다중차원일 경우에 어떻게 모델을 구현할지 알아보겠다. 해석해를 통한 방법과 경사하강법을 통한경우를 둘다 직접구현해 보았다. 수식적인 공식을 보고 직접 코드를 구현해 봐서 좋은코드는 아닐지 몰라도 원리는 들어가 있을꺼라 생각한다. 이전에 1차원인 경우에는 예측모델이 ax + b라는 말을 한적이 있는데, 그렇다면 2차원인 경우에는 어떨까 ax^2 + bx + c 일까? 그렇지는 않다. 우선 2차원이라는 표현도 맞긴 하지만 입력이 2개 이상으로 오는 경우라고 생각하면 좋을 것이다. 조금 쉽게 생각하여 키와 몸무게를 가지고 나이를 맞추는 모델을 구현해본다고 생각해보자. 키,몸무게 2개의 다른 요소가 입력으로 주어지고 이를 통해 나이를 맞추기 때..

    경사하강법 직접구현

    오늘은 경사하강법을 직접 구현해보겠다. 학교 과제로 진행하게 되었지만 정리할겸 글을 남긴다. 모델은 간단한 선형 모델을 만들어보는걸 목표로 할 것이다! 14.3,21.6 5.3,11.2 9.2,19.1 11,21.1 9.9,18.1 14.9,23.3 11.6,21.9 8,17.4 13.1,22.5 14.8,23.2 5.7,12.5 8.2,16.6 7.2,15.2 10,18.7 9.1,17.2 13,21.6 10.3,19.3 5.9,12.2 6.1,12.8 15,22.4 10.3,21.3 15,21.6 11.3,22.1 8,16.4 11.8,22.4 테스트 케이스는 위와 같다. 왼쪽이 입력, 오른쪽이 출력이다. 편의상 출생 개월과 키라고 가정해 보자. 위 테스트 케이스를 csv파일로 저장한다음, numpy..

    10_Text Detection(문자감지)

    Text Detecction 문제란 이미지 내에 텍스트가 존재하는 영역의 위치정보를 Bounding Box로 찾는 문제들을 말한다. EAST(Efficient and Accuracy Scene Text) 2017년에 나온 모델로 Text 인식에 특화된 모델이다. 위과정을 통해서 진행된다. QUAD방식이나 RBOX 방식의 선택지가 있다. 둘의 성능차이는 크지 않은 편이다. Loss for Score Map Text Detection 의 경우 글자인 부분의 영역을 뽑아내는것이 관건이다. 그렇기 때문에 영역중에서 글자가 아닌것이 많다면, 손실률이 높다고 볼 수 있다. Intersection over Union 두박스의 크기가 같으면 같을수록 1로 생각하는 방식 locality aware non maximum ..

    09_순환신경망 RNN

    CNN이 컴퓨터 비전 문제에 주로 사용되는 인공신경망이라면, 순환신경망은 자연어 처리 문제에 주로 사용된다. 조금더 정확히 말하면 시계열 데이터를 다루기에 쵲거화된 인공신경망이다 시계열 데이터란, 시간축 중심으로 현재 데이터가 앞,뒤 시간 데이터와 연관 관계를 가지고 있는 데이털르 의미한다. 주식 가격은 시계열 데이터의 예이다. RNN은 중간에 순환되는과정이 추가되는 부분 말고는 ANN과 거의 비슷하다. 이 구조는 이전상태에 대한 정보를 일종의 메모리 형태로 저장할수 있다는 강력한 강점이 있다. 인간의 언어 같은 경우도 앞뒤 문맥에 의해 결정되므로 RNN을 적용하기 적합하다. Vanishing Gradient Problem ( 경사도 사라짐 문제 ) 1에서 받은 영향력은 시간이 지나가면서 점점 사라지게 ..

    08_개,고양이 구분 인공지능 구현

    이번엔 개,고양이를 구분하는 인공지능을 직접 구현해보자. https://www.tensorflow.org/datasets/catalog/cats_vs_dogs 고양이 대 개 | TensorFlow Datasets TensorFlow.js의 새로운 온라인 과정에서 웹 ML을 통해 0에서 영웅으로 거듭나십시오. 지금 등록하세요 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 고양이 대 개 고양이와 개 www.tensorflow.org Dataset은 위에서 가져왔다. import os import numpy as np import matplotlib.pyplot as plt import tensorflow as tf import tensorflow_..

    06_CNN ILSVRC,CNN모델들

    CNN모델에는 무수히 많은 디자인 요소가 들어가 있다. (레이어의 depth, Pooling사이즈 등) 개개인이 모든 디자인 요소들의 가능성을 탐구하고 분석하는것은 현실적으로 불가능하기에 잘 동작하는 것이 검증된 표준 CNN모델을 사용하는것이 필요하다. ImageNet Large-Scale Visulal Recognition Challenge(ILSVRC) 120만장의 traning images와 5만장의 validation images 등의 데이터를 가지고 성능을 비교하는 대회이다. 1000개의 카테고리가 있기 때문에 가장 확신의 정도가 큰 1개의 값이 정답과 일치하는 방식인 TOP-1 과 가장 확신의 정도가 큰 5개안에 정답이 있는지 TOP-5 의 두개의 성능분석이 가능하다. 2012년 이전에는 CN..