인공지능(32)
-
Generative Adversarial Network(GAN)
본 포스팅은 cs231n의 강좌를 정리한 글임을 서두에 밝힙니다. 캡쳐된 일부 강의 자료들은 CS231n에서 제공하는 PPT 슬라이드를 참조하였습니다. Definition GAN은 'Generative Adversarial Network' 의 줄임말로, 궁극적으로 실제 이미지와 유사한 가짜 이미지를 생성해 내기 위해 제안된 네트워크 모델입니다. 이 모델은 Ian Goodfellow가 2014년에 논문에서 제시한 모델로, 딥러닝 분야에서 최근 10년간 가장 혁신적인 아이디어로 평가받고 있습니다. "Generative" 라는 용어에서 확인하실 수 있듯이, GAN은 '생성 모델'입니다. 생성모델이란, 그럴듯한 가짜 이미지를 생성해 내는 모델이라는 의미로, 실제로는 존재하지 않으나 그럴듯해 보이는 사람 얼굴 이..
2020.03.20 -
Saliency Map
*본 포스팅은 Stanford CS231n 강의를 참조하였음을 미리 밝힙니다. *캡쳐된 일부 강의 자료들은 CS231n에서 제공하는 PPT 슬라이드를 참조하였습니다. 현대 딥러닝의 아쉬운 점 중 하나는 딥러닝의 학습 과정을 딥러닝 코드를 작성한 사람조차 알기가 어렵다는 점입니다. 모델 학습이 성공했다면 왜 성공했는지, 실패했다면 왜 실패했는지를 해석하기가 어려운데, 그 이유는 기본적으로 딥러닝 모델은 많은 데이터를 한꺼번에 처리하며, 여러 겹의 레이어를 학습시키는 과정에서 적어도 수만 가지의 파라미터를 다루어야 하기 때문입니다. 따라서 VIsualize(시각화)를 통해 각각의 레이어에서 무슨 일이 일어나고 있는지, 더 나아가서 학습 전반적이 과정에서 무슨 일이 일어나고 있는지를 연구하려는 여러 시도들이 ..
2020.03.15 -
Estimating Moments - AMS method
빅데이터를 다루기 위해서, 즉 Stream Data를 다루기 위해서 Moment라는 개념을 정리해 둘 필요가 있다. 여러 물리량을 다루는 데 있어서 모멘트라는 개념이 많이 쓰이기도 하기 때문에 낯설지는 않은 개념이겠지만, 확실하게 짚고 넘어가는 것이 좋다. m(i)를 특정한 값 i가 Stream 에 등장한 횟수라고 정의할 때, kth Moment는 아래 그림과 같이 스트림에 있는 N개의 m(i)를 각각 k승 한 값들의 합으로 나타낼 수 있다. 이 모멘트는 k값에 따라 각기 다른 특정한 의미를 갖는데, 모멘트를 정의하는데 사용했던, m(i)의 의미를 생각해보면 쉽게 이해할 수 있다. 0th moment = m(i)의 값이 의미가 없어지므로, 스트림 내에서 서로 다른 원소의 개수를 의미한다. 1st mome..
2019.04.11 -
Flajolet-Martin Algorithm
Flajolet-Martin Algorithm은 Stream Data에서 서로 다른 데이터의 개수를 세는 알고리즘(Counting Distinct Element) 이다. 이는 Stream Data에서 다음과 같은 질의들에 응답하는데 사용된다 . - How many different words are found among the web pages crawled at a site? - How many different web pages does each customer request in a week? - How many distinct products have we sold in the last week? 이 질의들에 응답하기 위한 가장 명백한 방법 (Obvious Solution)은 N개의 데이터들을 특..
2019.04.11 -
Bloom Filter
Stream 형태의 무한한 데이터를 다루기 위한 알고리즘 중의 하나는 '필터링 알고리즘'이다. 스트림에서 X라는 속성을 가지는 데이터들을 걸러내는 알고리즘으로써 여러 메일들의 스트림을 입력받았을 때, 스팸메일을 걸러주는 프로그램등이 이 필터링 알고리즘을 적용한 예에 속한다. Filtering Data Streams 이전 포스팅의 예제와 마찬가지로 데이터 스트림의 각 원소는 Tuple(튜플, 순서쌍)의 형태로 입력이 된다. 이때 필터링 알고리즘의 문제는 S라는 Key set이 들어왔을 때, 입력되는 튜플들의 스트림 중 S에 속하는 튜플들을 걸러내는 것이 된다. 이를 해결하기 위한 가장 명백한(Obvious) 방법은 해시 테이블(Hash Table)을 이용하는 것이다. 해시 함수는 같은 키 값이 들어오면 무..
2019.04.11 -
Data Mining Basics (TF.IDF)
Data Mining 을 시작하기 전에 필요한 기본 지식들을 정의하고 나서 본격적인 Data Mining Algorthm들을 살펴보려고 한다. Data Mining Chapter에서는 쥬어 레스코벡의 "빅데이터 마이닝" 교재를 참고하였으며, 서울대학교 컴퓨터공학부 강유 교수님의 "데이터마이닝 개론" 수업을 참고하였다. 이번 포스팅에서는 데이터 마이닝을 이해하기 위한 기본 툴 중의 몇 가지에 대한 간단한 설명을 하게 될 것이다. Importance of Words in Documents 우리가 구글과 같은 검색 엔진에서 검색 쿼리를 보낼 때, (쿼리는 데이터베이스나 서버 등에 정보를 요청하는 것) 주로 키워드나 키워드의 조합을 통해 쿼리를 보낸다. 이때, 하나의 키워드와 관련된 문서들이나 블로그들이 무수히..
2019.04.10