ML 67

샴 네트워크(Siamese Network)와 삼중항 손실 (Triplet loss)

샴 네트워크(Siamese Network) 샴 네트워크는 무엇일까? 두 개의 입력에 대해 독립적으로 두 개의 합성곱 신경망을 실행한 뒤 비교하는 아이디어이다. 샴 네트워크 구조를 간단히 설명하자면 기존의 컨볼루션 네트워크를 통해서 피처맵을 뽑아낸다. 두개의 이미지에서 피처맵을 뽑아낸 이후에 거리를 계산해 본다. 거리가 작다면 두사람이 비슷하다는것이고 거리가 크다면 두 사람이 다른 사람이라는것이다. 두 네트워크에 두 사진을 입력으로 넣고 합성곱 신경망으로 인코딩을 시킨다. 만약에 두 사람이 비슷한 사람이라면 인코딩 사이의 거리 값은 작아야한다. 만약에 두 사람이 다른 사람이라면 인코딩 사이의 거리 값은 커야한다. 위 조건을 만족시키도록 학습을 시켜야 한다. 삼중항 손실 (Triplet loss) 간단하게 ..

ML/머신러닝 2020.03.06

딥러닝을 이용한 출석체크 프로젝트 계획

스터디 진행 2020년 3월 4일 DMC 탐탐 출석관리팀:김정민,박승재,최웅준,최영환,한준희 프로젝트 구체적인 주제 휴대폰 카메라를 통해서 인식한 사진을 기존에 저장되어 있던 DB와 비교하여 출석을 확인한다. 출석결과는 출석부로 보내진다. 결과는 웹(사이트)를 통해서 보내진다. 새로운 인물이 동아리에 참석하거나 인식이 올바르지 않을 때는 데이터를 보충하고 학습을 다시 시켜서 시스템을 유지 보수 가능한 모델을 구현하는 것이 목표이다. 왼쪽에 보이는 사진은 개략적인 구성도이다. 카메라, 웹서버, 데이터 서버로 나뉘어져 있다. 시스템 동작을 보여주는 다이어그램 Face database에서는 입력이 제공만 된다. 온라인으로 학습시키면서 자동으로 보수시키고 싶지만 쉽지 않을것으로 판단되어 보류하였다. 목표 기한:..

ML/머신러닝 2020.03.05

Phasor는 무엇일까?

phasor는 복소수이다. 복소수는 크기와 각도의 정보를 둘다 가지고 있는것을 기억할것이다! 기억이 나지 않는다면 허근에 대한 글을 읽고 오길 바란다. 페이저를 사용하면 미분을 '사칙연산'처럼 사용할 수 있다. 전자공학에서 회로를 분석할 때 커패시터와 인덕터의 전압과 전류의 관계를 다룰 때 미분이 필수적으로 수반된다. 페이저는 전자공학에서 유용하게 사용된다. 1.푸리에 급수 푸리에 급수에서 모든 신호는 정현파(Sinusoidal wave=삼각함수)의 합으로 나타낼 수 있다는것을 배웠다. 2. phasor 삼각함수에 대해서 다시한번 생각해보자 phasor 분석의 핵심 아이디어는 바로 주파수 성분은 고정되어 있다고 하면, X와 Y의 값만을 가지고 막대기의 길이 A, 시작 각도 ϕ인 막대기의 회전운동을 나타낼..

오일러 공식을 증명해보자

오일러 공식(Euler's formula)은 수학자 레온하르트 오일러의 이름이 붙은 공식으로, 복소수 지수를 정의하는 데에 출발점이 되며, 삼각함수와 지수함수에 대한 관계를 나타낸다. 오일러의 등식은 이 공식의 특수한 경우이다-위키백과 미분방정식을 통한 증명 기하학적 증명 의의 실수와 순허수는 복소평면이라는 공간에서 서로 만나게 되었으며, 초월함수인 지수함수와 삼각함수가 복소평면 상에서 결국 동일한 현상이었다는 것을 밝혔다.

자연상수 e의 의미

자연상수 e는 100%의 성장률을 가지고 1회 연속 성장할 때 얻게되는 성장량을 의미한다. 성장주기를 무한히 쪼개면 무한히 커지게 될까? 보아라 그렇지 않다는것을 알 수 있다. 다시 정의를 살펴보자 자연상수 e는 100%의 성장률을 가지고 1회 연속 성장할 때 얻게되는 성장량을 의미한다. 50퍼센트 연속성장하면 어떨까? 100% 성장률로 2회 연속 성장한다면 그 성장량은? 자연로그의 의미 성장량 A를 알고 있고 A=e^(성장횟수 x 성장률)로 나타낼 수 있다고 하면

허근의 위치

y=x2+1y=x2+1의 2차 함수를 생각해보자. 근은 x=±√−1=±ix=±−1=±i이다. 함수를 2차원 평면 상에 그려보도록 하자. 근이라고 하는 것은 함수의 값을 0으로 만족시켜줄 수 있는 입력값 xx이어야 한다. 하지만 이 그림에서 함수의 값을 0으로 만들어주는 ±√−1=±i±−1=±i의 값은 축 어디에도 없다. 왜냐하면 우리가 그린 xx축과 yy축은 모두 실수(real number)축이기 때문이다. 우리는 복소수는 실수와 다르게 크기와 방향을 동시에 가지는 수라는 점을 꼭 인지하고 있어야 한다. 소수의 크기는 magnitude라고 부르고 방향은 phase라고 부른다. https://www.youtube.com/watch?v=DJD-s9jK6Tk#action=share https://angeloy..

허수가 필요한 이유가 무엇일까?

음수 허수 질문 0-1=? x²=-1? 의미 "없음" 보다 작음의 존재에 대한 의미 같은 수를 두 번 곱하여 "없음"보다 작을 수 있는 수에 대한 의미 해답 수는 크기와 방향을 동시에 갖는다 수는 회전 할 수 있다 수는 2차원이어야 한다. 의의 "방향성" "회전" 난이도 1700년대까지 이해하지 못함 21세기까지도 잘 이해하지 못함 음수이전의 곱셈은 스칼라 연산에 불과하였다. 양을 x배 하여 양만 늘어나는 연산이었다. 하지만 음수 이후의 곱셈은 방향성이 추가되어 1차원 벡터로 확장된것이다. 허수의 발견은 지금까지 실수 영역에서 1차원 벡터로 표현 될 수 있었던 수 체계를 2차원 벡터로 확장시켰다는 놀라운 의미를 갖는다. 1차원인 실수 영역에서 보았을 때는 i2=−1i2=−1인 것이다. 1차원에서만 생각한..

파이토치 MNIST (CNN)[pytorch]

2020/02/21 3.5기 3팀 최웅준,송근영,김정민 장소: 능곡역 지노스 까페 합성곱을 이용한 신경망을 구성하여 Mnist를 학습하였다. 28 x 28 사이즈의 이미지셋으로 총 60000장을 라이브러리 'torchvision'에서제공해준다. 모델구조 구글에 있는 MNIST 모델을 참조하였습니다. import torch import torch.nn as nn import torchvision.datasets as dsets import torchvision.transforms as transforms import matplotlib.pyplot as plt import random 위와 같은 라이브러리를 import 하였습니다. class MnistClassifier(nn.Module) : def __..

ML/머신러닝 2020.02.24

신경망 구조를 이용하여 와인 분류하기[pytorch]

사이킷런에 포함된 와인 데이터 집합을 학습 데이터로 사용할 것이다. 2020/02/21 3.5기 3팀 최웅준,송근영,김정민 장소: 능곡역 지노스 까페 직접신경망을 구성하기에는 아직 미숙하여 'pytorch를 활용한 머신러닝,딥러닝 철저 입문' 서적에 있는 신경망을 이용한 와인분류 부분의 코드를 직접 코랩을 이용하면서 실행해보고 분석해보았다. sklearn 라이브러리('사이킷런')에는 여러가지 데이터들을 제공해주는데 wine 데이터 집합을 활용하였다. from sklearn.datasets import load_wine from sklearn.model_selection import train_test_split 위의 코드들로 라이브러리를 임포트하면 wine데이터를 이용할 수있다. wine변수의 내용은 아..

ML/머신러닝 2020.02.24

Pytorch를 이용한 Mnist 학습하기

구글 코랩을 이용하여 라이브러리 '파이토치' 기반으로 Mnist를 학습하였다. 아래 문구를 통해서 다운 받게 된다.28x28의 이미지 셋으로 라이브러리 'torchvision'에서 제공해준다. mnist_train = torchvision.datasets.MNIST(root="MNIST_data/", train=True, transform=torchvision.transforms.ToTensor(), download=True) mnist_test = torchvision.datasets.MNIST(root="MNIST_data/", train=False, transform=torchvision.transforms.ToTensor(), download=True) 데이터 셋을 다운받은 것을 확인할 수 있다 ..

ML/머신러닝 2020.02.24