전체 글

고려대학교 산업경영공학부 DSBA 연구실(지도교수 : 강필성 교수님) 석사과정 손준영입니다. 인공지능을 공부하고 있습니다.
Machine Learning

[ML] 머신러닝 모델 학습 프로세스

머신러닝 핵심 아이디어 머신러닝의 핵심 아이디어는 X와 Y의 관계를 찾는 것이다. 여기서 우리의 주 관심은 예측하려는 대상인 Y이며, Y를 설명하는 X 변수는 보통 여러 개이기 때문에 여러 개의 X와 Y의 관계를 찾는 것이다. 이를 위해 X 변수들을 조합(결합)하여 Y를 표현하며, 조합하는 방법은 무수히 많다. 이는 수학적으로 Y = f(X1, X2, ..., Xp)로 표현된다. 만약, X1과 X2 두 개의 변수로 Y를 설명하려고 할 때, 이에 대한 수식은 다음과 같이 표현할 수 있다. w1과 w2는 파라미터, 혹은 모수, 매개변수라고 부른다. 머신러닝 모델의 핵심은 결국 주어진 데이터를 통해 모델의 파라미터를 찾는 것이라고 할 수 있다. 파라미터 추정 `Loss function(손실 함수)`의 경우 개..

Machine Learning

[ML] 수치예측, 범주예측(분류)

수치예측 / 범주예측(분류) 연속형 데이터 : 데이터 자체를 숫자로 표현(ex> 가격, 길이, 압력, 두께) → `수치예측(Regression)` 범주형 데이터 : 원칙적으로 숫자로 표시할 수 없는 데이터(ex> 제품불량여부(양품/불량), 보험사기여부(정상/비정상)) → `범주예측(Classification)` 수치예측 / 범주예측 모델링 수치예측 모델링에선 X와 Y의 관계를 직선으로 모델링한다. 이후 새로운 데이터가 주어졌을 때 해당 직선을 통해 Y 값을 예측한다. 범주예측 모델링에선 실제 숫자를 예측하는 것이 목적이 아니기 때문에, 범주 사이를 잘 나눌 수 있는 모델을 찾고, 해당 모델을 통해 새로운 데이터가 어느 범주에 속하는지 예측하게 된다. 이 포스팅은 고려대학교 산업경영공학부 김성범 교수님 유..

Machine Learning

[ML] 머신러닝 및 인공지능 개요

기계학습(Machine Learning) `머신러닝(Machine Learning)`이란, 인간이 개발한 알고리즘을 컴퓨터 언어를 통해 기계에게 학습시키는 행위이다. 여기서 `컴퓨터 언어(computer languages)`란 인간과 컴퓨터가 소통하기 위한 수단이며, `알고리즘(algorithm)`은 문제를 해결하기 위한 방법들의 체계적인 모임을 말한다. Algorithm : Least Square Estimation, Backpropagation, Gradient 등 Computer Languages : C++, Fortran, JAVA, Matlab, R, Python 등 머신러닝 모델링 머신러닝 모델링이란, X와 Y가 주어졌을 때 이들의 관계를 잘 설명해주는 function, algorithm을 컴..

Deep Learning

[DL] 신경망 학습 - Loss Function, Cross Entropy Error, SSE, 편미분, 수치 미분, Stochastic Gradient Descent

데이터에서 학습한다! `학습`이란, 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 뜻한다. 학습의 목표는 `손실 함수`의 결괏값을 가장 작게 만드는 가중치 매개변수를 찾는 것이다. 신경망의 특징은 데이터를 보고 학습할 수 있다는 점이다. 데이터에서 학습한다는 것은 가중치 매개변수의 값을 데이터를 보고 자동으로 결정한다는 뜻이다. 데이터 주도 학습 `기계 학습`은 데이터에서 답을 찾고, 데이터에서 패턴을 발견하고, 데이터로 이야기를 만든다. 이러한 기계학습에서는 사람의 개입을 최소화하고 수집한 데이터로부터 패턴을 찾으려 시도한다. 게다가 신경망은 기존 기계학습에서 사용하던 방법보다 사람의 개입을 더욱 배제할 수 있게 해주는 중요한 특징을 가지고 있다. 신경망은 이미지를 '있는 그대로'..

Deep Learning

[DL] 신경망(NeuralNet) - Activation Function, Sigmoid, Step, ReLU, Softmax

퍼셉트론에서 신경망으로 활성화 함수의 등장 편향을 명시한 퍼셉트론과 그에 따른 수식은 다음과 같다. 이 퍼셉트론은 x1, x2, 1이라는 3개의 신호가 뉴런에 입력되어, 각 신호에 가중치를 곱한 후 다음 뉴런에 전달된다. 다음 뉴런에서는 이 신호들의 값을 더하여 그 합이 0을 넘으면 1을, 그렇지 않으면 0을 출력한다. 편향의 입력 신호는 항상 1이기 때문에 다른 뉴런들과 구별했다. 수식에서는 조건 분기의 동작, 즉 0을 넘으면 1을 출력하고 0을 넘지 않으면 0을 출력하는 동작을 하나의 함수 h(x)로 나타냈다. 입력 신호의 총합이 h(x)라는 함수를 거쳐 변환되어 그 변환된 값이 y의 출력이 된다. 이러한 함수를 `활성화 함수(activation function)`이라고 하며 이는 입력 신호의 총합이..

Deep Learning

[DL] 퍼셉트론(Perceptron) - AND 게이트, NAND 게이트, OR 게이트, XOR 게이트 , 다층 퍼셉트론

퍼셉트론이란? `퍼셉트론(perceptron)`은 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. 퍼셉트론의 신호는 '신호가 흐른다'를 의미하는 1, '신호가 흐르지 않는다'를 의미하는 0의 두 가지 값을 가질 수 있다. 입력 신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱해짐(W1X1, W2X2) 뉴런에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1을 출력되며 '뉴런이 활성화한다'라고 표현 정해진 한계를 `임계값`이라고 하며 세타로 표현 퍼셉트론은 복수의 입력 신호 각각에 고유한 가중치를 부여하며, 가중치는 각 신호가 결과에 주는 영향력을 조절하는 요소로 작용 가중치가 클수록 해당 신호가 그만큼 더 중요함을 의미 단순한 논리 회로 AND 게이트 `AND 게이트`는 입력이 둘이고 출력은 ..

Project

[Project] 도배 하자 유형 분류 AI 경진대회

대회 정보 https://dacon.io/competitions/official/236082/overview/description DACON에서 진행한 '도배 하자 유형 분류 AI 경진대회'에 참여했다. 해당 대회는 19가지의 도배 하자 이미지를 가지고 유형 분류를 하는 AI 모델을 개발하는 대회이다. Train dataset의 경우 19개의 class folder에 총 3,457개의 데이터가 포함되어 있으며 모델 예측에 활용하는 Test dataset은 레이블이 주어져있지 않은 791개의 이미지 데이터이다. 평가 지표로는 `weighted f1 score`을 활용한다. 해당 데이터는 데이터 불균형이 매우 심한 데이터이다. 가장 데이터의 개수가 많은 클래스는 `훼손`으로 1,405개의 데이터가 있었고, ..

Computer Vision

[Paper Review] ImageNet Classification with Deep Convolutional Neural Networks(NIPS 2012)

Paper ImageNet Classification with Deep Convolutional Neural Networks(NIPS 2012) 본 논문의 코드 구현은 깃허브에서 확인 가능합니다. 0. Abstract ImageNet LSVRC-2010 대회에서 120만 개의 고해상도 이미지를 1000개의 다른 이미지로 분류하기 위해 크고 깊은 convolutional neural network를 훈련시켰다. 테스트 데이터에서 이전의 SOTA 모델보다 나은 37.5%, 17.0%의 top-1 error rate와 top-5 error rate를 달성했다. 6천만 개의 파라미터들과 650,000개의 뉴런으로 구성된 neural network는 5개의 convolutional layers로 구성되며, 그 중..

Deep Learning

[Paper Review] 액티브 러닝을 활용한 반도체 웨이퍼 신규 불량 패턴 검출

논문 정보 액티브 러닝을 활용한 반도체 웨이퍼 신규불량 패턴 검출(황성진, 김성범) 0.Abstract CNN-based deep learning models을 통해 정확하게 웨이퍼 빈 맵(WBM)의 결함 패턴을 분류하기 위해선 정확한 결함 패턴의 label이 반드시 있어야 한다. 하지만 현실에선 엔지니어가 모든 데이터에 label을 다는 것은 많은 시간과 노력이 필요하다. 현재 CNN-based 연구들은 실제 상황에서 빈번하게 발생하는 새로운 결함 패턴을 찾지 못하는 한계점을 가지고 있다. 본 논문에서는 Active Learning에 기반한 새로운 결함 패턴 탐지 방법을 제안한다. 또한 모델 훈련 단계에서 사용되지 않은 새로운 결함 패턴을 빠르게 탐지하는 새로운 프레임워크 또한 제안한다. 본 방식의 유..

Deep Learning

[Active Learning] Active Learning이란?

Definition of Active Learning Active Learning의 핵심 개념은 모델이 배우고 싶은, 호기심이 가는 데이터를 선택하여 적은 학습으로도 좋은 성과를 내게 한다는 것이다. Active Learning은 annotation effort를 줄일 수 있는 지도학습 방법이다. Concepts of Active Learning 현실에서는 레이블이 되어있는 데이터가 부족하며, 별도로 이를 구하기 위해선 시간과 비용이 발생한다. Unlabeled Pool에서 사전 학습된 모델이 Inference를 통해 annotation 작업을 수행한다. 하지만 사전 학습된 모델은 적은 데이터로 학습했기 때문에 성능이 낮으며, annotation의 품질을 보장할 수 없다. 모델이 uncertain한 데이..

Junyeong Son
Sonstory