Generative Model (생성형 모델) 중 하나인 ChatGPT가 AI의 잠재력을 전세계에 퍼뜨리고 있다. 개인적인 생각으로 만든 사람도 정확히 ChatGPT가 어떻게 학습이 가능한 지에 대한 설명을 할 수는 없다고 생각한다. Model의 layer, weight들이 학습되는 형태는 처음에 초기값을 어떻게 잡는 지, 어떤 activation function을 쓰는 지에 따라 다르며, chatGPT처럼 데이터가 많게 되면 더더욱 설명하기는 어렵다. 우리가 ChatGPT의 원리를 정확히 알 수는 없더라도 생성형 모델의 기본적인 유형 중 하나인 Autoencoder에 대해서 먼저 보도록 하자. Autoencoder는 encoder 부분과 decoder 부분으로 나뉜다. Encoder는 latent sp..
2023.04.02 - [Computer Science/Python] - [AI-Pytorch Python] 선형 회귀 정복 및 실습 (1) (Kill Linear Regression Using Pytorch) [AI-Pytorch Python] 선형 회귀 정복 및 실습 (1) (Kill Linear Regression Using Pytorch) 머신러닝, 인공지능 소식을 접하면 심심치 않게 회귀라는 말을 접한다. 회귀란 뭘까? 회귀:한 바퀴 돌아서 본디의 자리로 돌아옴. [출처: Oxford Languages] 데이터를 다루는 머신러닝 입장에서 보면, greedy-engineer.tistory.com 이 글을 보기 전에 이해를 돕기 위해 전 글을 보고 오기를 추천한다. 필요 라이브러리 다운로드 from..
머신러닝, 인공지능 소식을 접하면 심심치 않게 회귀라는 말을 접한다. 회귀란 뭘까? 회귀:한 바퀴 돌아서 본디의 자리로 돌아옴. [출처: Oxford Languages] 데이터를 다루는 머신러닝 입장에서 보면, 흩어져 있는 데이터들이 자신의 자리로 돌아간다고 할 때, 이를 가장 잘 설명하는 선형의 그래프를 찾는 게 선형 회귀의 목표이다. 쉬운 말로 하면, 데이터의 흩어져 있는 모습과 유사한 형태의 선형 그래프를 찾으면 된다. 일변수 함수의 선형 회귀 분석 데이터 생성 본격적으로 회귀 분석을 하기 위해 데이터를 생성해 보자! 선형 회귀 분석을 하기 위해 데이터의 전체적인 경향을 나타내는 선형 함수를 하나 만들자. y = ax+b 의 형태로 중학교 수학을 배웠다면 누구나 아는 함수이다. 데이터가 이 선형 함..
이 글은 단계별로 쓰여진 글이며 첫번째 단계를 보기 위해서는 아래 게시글을 참고 바람! 2023.03.27 - [Computer Science/Python] - [AI OpenCV-Python] SIFT를 통한 이미지 특징 추출 (1) (Image Feature Extraction/Matching Using SIFT) [AI OpenCV-Python] SIFT를 통한 이미지 특징 추출 (1) (Image Feature Extraction/Matching Using SIFT) 이 글은 Google Colab 환경에서 실행 되었습니다. !cat /etc/*release 출력: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DES..
이 글은 Google Colab 환경에서 실행 되었습니다. !cat /etc/*release 출력: DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.5 LTS" NAME="Ubuntu" Google Colab의 환경은 Linux Ubuntu이니 참고한다. OpenCV? OpenCV는 컴퓨트 비전 라이브러리로 컴퓨터가 이미지를 인식하거나 다루는데 쓰이는 라이브러리이다. C++ 언어로 쓰였고, python wrapper인 OpenCV-python 을 이용하여 python으로도 조작이 가능하다. 이미지를 다루는 데에 array를 기본적으로 사용하여 data structure가 numpy..
tensorflow: 머신러닝을 효과적으로 하기 위한 파이썬 프레임워크이다. 앞선 글 중에, pytorch 프레임워크, scikit-learn 라이브러리를 다룬 내용이 있으니 먼저 보고 오자! 2023.03.20 - [Computer Science/Python] - [AI PYTORCH] Convolution Neural Network(CNN) MNIST 데이터 구분 (0-9 숫자 구분하기) [AI pytorch] Convolution Neural Network(CNN) MNIST 데이터 구분 (0-9 숫자 구분하기) scikit-learn을 해봤으니 한 단계 업그레이드 된 프레임워크 'pytorch'로 구현을 해보자. 좀 더 깊은 이해를 위해 scikit-learn을 참고하고 와도 좋다! 2023.03..
scikit-learn을 해봤으니 한 단계 업그레이드 된 프레임워크 'pytorch'로 구현을 해보자. 좀 더 깊은 이해를 위해 scikit-learn을 참고하고 와도 좋다! 2023.03.17 - [Computer Science/Python] - [AI scikit-learn] Machine Learning. 숫자(0-9) 손 글씨체 구분 (Classfying Handwritten digits) (MNIST) [AI scikit-learn] Machine Learning. 숫자(0-9) 손 글씨체 구분 (Classfying Handwritten digits) (MNIST) 이번 주제는 google colab에서 실행된다. google drive 가 있다면 google colab은 좋은 선택지이며, py..
이번 주제는 google colab에서 실행된다. google drive 가 있다면 google colab은 좋은 선택지이며, python언어와 그 안에 있는 ML 라이브러리 (sklearn, numpy, pandas.. 등등)을 지원한다. 오늘은 0 부터 9까지의 숫자를 구분하는 Neural Network를 만들어본다. 1. 먼저 sklearn 에서 지원하는 데이터를 가져오자 # Loading an example dataset & preprocessing from sklearn.datasets import load_digits import numpy as np data = load_digits() print(data.keys()) # dict_keys(['data', 'target', 'frame', ..