1년 이하 정도 딥러닝을 열심히 해 본 개발자들이 일정 수준 이상으로 잘 대답할 것으로 기대하는 질문들



1. 요즘 Sigmoid 보다 ReLU를 많이 쓰는데 그 이유는?


+ Non-Linearity라는 말의 의미와 그 필요성은?

+ ReLU로 어떻게 곡선 함수를 근사하나?

+ ReLU의 문제점은?

+ Bias는 왜 있는걸까?


2. Gradient Descent에 대해서 쉽게 설명한다면?


+ 왜 꼭 Gradient를 써야 할까?

+ 그 그래프에서 가로축과 세로축 각각은 무엇인가?

+ 실제 상황에서는 그 그래프가 어떻게 그려질까?

+ GD 중에 때때로 Loss가 증가하는 이유는?

+ 중학생이 이해할 수 있게 더 쉽게 설명 한다면?

+ Back Propagation에 대해서 쉽게 설명 한다면?


3. Local Minima 문제에도 불구하고 딥러닝이 잘 되는 이유는?


+ GD가 Local Minima 문제를 피하는 방법은?

+ 찾은 해가 Global Minimum인지 아닌지 알 수 있는 방법은?


4. CNN에 대해서 아는대로 얘기하라


+ CNN이 MLP보다 좋은 이유는?

+ 어떤 CNN의 파라메터 개수를 계산해 본다면?

+ 주어진 CNN과 똑같은 MLP를 만들 수 있나?

+ 풀링시에 만약 Max를 사용한다면 그 이유는?

+ 시퀀스 데이터에 CNN을 적용하는 것이 가능할까?


5. Word2Vec의 원리는?


+ 그 그림에서 왼쪽 파라메터들을 임베딩으로 쓰는 이유는?

+ 그 그림에서 오른쪽 파라메터들의 의미는 무엇일까?

+ 남자와 여자가 가까울까? 남자와 자동차가 가까울까?

+ 번역을 Unsupervised로 할 수 있을까?


6. Auto Encoder에 대해서 아는대로 얘기하라


+ MNIST AE를 TF나 Keras등으로 만든다면 몇줄일까?

+ MNIST에 대해서 임베딩 차원을 1로 해도 학습이 될까?

+ 임베딩 차원을 늘렸을 때의 장단점은?

+ AE 학습시 항상 Loss를 0으로 만들수 있을까?

+ VAE는 무엇인가?


7. Training 세트와 Test 세트를 분리하는 이유는?


+ Validation 세트가 따로 있는 이유는?

+ Test 세트가 오염되었다는 말의 뜻은?

+ Regularization이란 무엇인가?


8. Batch Normalization의 효과는?


+ Dropout의 효과는?

+ BN 적용해서 학습 이후 실제 사용시에 주의할 점은? 코드로는?

+ GAN에서 Generator 쪽에도 BN을 적용해도 될까?


9. SGD, RMSprop, Adam에 대해서 아는대로 설명한다면?


+ SGD에서 Stochastic의 의미는?

+ 미니배치를 작게 할때의 장단점은?

+ 모멘텀의 수식을 적어 본다면?


10. 간단한 MNIST 분류기를 MLP+CPU 버전으로 numpy로 만든다면 몇줄일까?


+ 어느 정도 돌아가는 녀석을 작성하기까지 몇시간 정도 걸릴까?

+ Back Propagation은 몇줄인가?

+ CNN으로 바꾼다면 얼마나 추가될까?


11. 간단한 MNIST 분류기를 TF나 Keras 등으로 작성하는데 몇시간이 필요한가?


+ CNN이 아닌 MLP로 해도 잘 될까?

+ 마지막 레이어 부분에 대해서 설명 한다면?

+ 학습은 BCE loss로 하되 상황을 MSE loss로 보고 싶다면?

+ 만약 한글 (인쇄물) OCR을 만든다면 데이터 수집은 어떻게 할 수 있을까?


12. 간단한 MNIST DCGAN을 작성한다면 TF 등으로 몇줄 정도 될까?


+ GAN의 Loss를 적어보면?

+ D를 학습할때 G의 Weight을 고정해야 한다. 방법은?

+ 학습이 잘 안될때 시도해 볼 수 있는 방법들은?


13. 딥러닝할 때 GPU를 쓰면 좋은 이유는?


+ 학습 중인데 GPU를 100% 사용하지 않고 있다. 이유는?

+ GPU를 두개 다 쓰고 싶다. 방법은?

+ 학습시 필요한 GPU 메모리는 어떻게 계산하는가?


14. TF 또는 Keras 등을 사용할 때 디버깅 노하우는?


15. Collaborative Filtering에 대해 설명한다면?


16. AutoML이 뭐하는 걸까?


이상 공통 (기본) 질문들만 정리해 봤다.


출처

https://www.facebook.com/dgtgrade?ref=br_rs


'Machine Learning' 카테고리의 다른 글

헬스케어 챗봇 HealDa  (0) 2018.01.26
금융의 역사를 통해 본 딥러닝의 함정  (0) 2018.01.17
지도 vs 비지도 학습  (0) 2018.01.17
Major tasks in data preprocessing  (0) 2018.01.10
Deview 2017 책 읽어주는 딥러닝  (0) 2018.01.10
Posted by 커다란꼬꼬마

Java9과 Spring5 로 바라보는 Java의 변화와 도전

이일민(Toby)님의 발표


2017년 9월 21일

  - Java SE 9

  - Spring Framework 5.0


기존의 EJB부터 이전의 자바버전과 최근의 자바까지해서

코드의 간결성과 유지보수, 퍼포먼스까지 고려를 해서 코드로 비교를 해서 직접적으로 이해를 도움.


언어의 발전과 함께 코드 호환성도 지킨다 -> 새로운 기술이 들어오더라도 다시 컴파일 할 필요가 없이 호환됨.


애노테이션 기반의 메타프로그래밍과 영리한 디폴트로 무장한 관례의 적극 도입 -> SpringBoot로 Ruby on rails와 비교해도 더 간결해짐.


함수형 프로그래밍 스타일의 자바와 비동기 논블록킹 지원 서블릿, 스프링 등장

  - Java8

    - 함수형 인터페이스와 람다식

    - 메소르 레퍼런스

    - 디폴트 메소드

    - CompletableFuture

ex) IntStream.iterate(1, a -> a+1).limit(10).reduce(0, (a,b)-> a+b);


애노테이션과 메타프로그래밍, 관례의 범람


함수형 스타일 프로그래밍이 도입된 업그레이드 된 자바의 기본으로 돌아가자


스프링5.0 - 새로운 함수형 스타일 웹 개발 지원

  - 서블릿의 의존성 제거

    - 서블릿 컨테이너를 비동기 HTTP서버로 활용 가능

  - 새로운 HTTP 요청과 응답의 추상화 - 불변 객체

    - ServerRequest

    - ServerResponse

  - 두 개의 함수를 이용해 개발

    - HandlerFunction

    - RouterFunction

  - Mono<T>, Flux<T> 리액리브 방식


웹 핸들러(컨트롤러)가 웹 요청 처리하는 방식

  - 요청 매핑

  - 요청 바인딩

  - 핸들러 실행

  - 핸들러 결과 처리(응답 생성)


public static void main(String[] args) throws Exception{

HandlerFunction helloHandler = (ServerRequest req) -> {

String name = req.pathVariable("name");

return ServerResponse.ok().syncBody("Hello " + name);

};


RouterFunction router = req -> RequestPredicates.path("/hello/{name}").test(req) ?

Mono.just(helloHandler) : Mono.empty();


HttpHandler httpHandler = RouterFunctions.toHttpHandler(router);


ReactorHttpHandlerAdapter adapter = new ReactorHttpHandlerAdapter(httpHandler);

HttpServer server = HttpServer.create("localhost", 8080);

server.newHandler(adapter).block();


System.in.read();

}



==========================================================

public static void main(String[] args) throws Exception{

HttpServer

  .create("localhost", 8080)

  .newHandler(new ReactorHttpHandlerAdapter(toHttpHandler(route(path("/hello/{name}"), req -> ServerResponse.ok().syncBody("Hello " + req.pathVariable("name")))))).subscribe();

}



Mono/Flux

  - 정보를 전달할 때 컨테이너 사용

    - Mono - 단일 오브젝트

    - Flux - 스트림 오브젝트

  - 데이터 가공, 변환, 조합을 위한 다양한 연산 제공

  - 스케줄러를 이용해 비동기 작업 수행

  - 지연 연산, 자유로운 조합

  - 스프링 함수형 웹 개발의 모든 기능이 Mono/Flux기반으로 재개발


발표 뒤쪽부분은 이해를 못하는 부분도 많았지만 토비님의 발표를 들으면서

그동안 공부했던 부분과 함수형 프로그래밍 부분이 이해가 되었고 언어자체도 중요하지만

생태계의 중요성을 또 한번 느끼게 됨.


출처

https://www.youtube.com/watch?v=BFjrmj4p3_Y

'개발' 카테고리의 다른 글

NoSQL  (0) 2018.03.24
Spring 1  (0) 2018.02.03
Hypothesis test  (0) 2018.01.06
PriorityQueue(Java)  (0) 2018.01.05
MVC 아키텍처  (0) 2018.01.05
Posted by 커다란꼬꼬마

금융의 역사를 통해 본 딥러닝의 함정


  - SK T 아카데미에서 챗봇 관련 오프라인 세미나를 통해서 알게되었던 이태영님께서 진행하신 naver d2에서의 세미나


  - 최신의 비트코인과 기존 회사에서의 머신러닝을 바라보는 관점을 느낄 수 있었고 역사론적 관점을 통해 세부적인 요소에서 벗어나 큰 그림을 보는 시각은 느낌.


  - 현재 금융권에서 딥러닝을 어떤 방식으로 다루고 월스트리스에서 호령하고 있는 켄쇼 프레임워크를 알게 됨.



출처

https://www.youtube.com/watch?v=mpZSb9DzAR8

'Machine Learning' 카테고리의 다른 글

헬스케어 챗봇 HealDa  (0) 2018.01.26
딥러닝 면접 질문 리스트  (0) 2018.01.17
지도 vs 비지도 학습  (0) 2018.01.17
Major tasks in data preprocessing  (0) 2018.01.10
Deview 2017 책 읽어주는 딥러닝  (0) 2018.01.10
Posted by 커다란꼬꼬마

Supervised learning(classification)

  - The training data(observations, measurements, etc.) are accompanied by labels indicating the class of the observations

  - New data(unlabeled data) is classified based on the training set


Unsupervised learning(clustering)

  - The class labels of training data is unknown

  - Given a set of measurements, observations, etc. with the aim of establishing the existence of classes or clusters in the data

  - Group the data based on some similarity or distance measure

Posted by 커다란꼬꼬마

인공지능과의 소개팅

  - 여자 1명이 등돌고 뒤에 남자3명과 노트북 하나(챗봇 + 스피커?)

블라인드에서 챗봇을 선택


챗봇 제작 과정(영상에서 개발환경 windows10 기반 Intellij)

1. 20대 여성 1800명의 이상형 데이터 수집

2. 755가지의 대화 주제로 데이터 분류

3. 딥러닝 기반 지도학습

대화가 길게되면 잘 안된다는 대학생들의 평가.


인공지능 vs 재즈 뮤지션

이봄(EVOM) - 인공지능 작곡가(영상에서 개발환경 Mac, PyCharm)

1. 화성악 등 재즈 작곡 이론 기계 학습

2. 다수의 재즈 명곡 딥러닝 기반 학습

41:59 인간 승리


인공지능 vs 화가

로보아트(Robotart)

  - 인공지능과 로봇 기술을 이용한 미술의 심미성을 겨루는 세계 대회

  - 2018년 세 번째 대회가 열릴 예정


인공지능 vs 포커 선수

딥스택(Deepstack)

  - 인공지능 포커 프로그램

  - 캐나다 알버타대, 체코 프라하 카렐대, 체코 공과대 공동 개발

  - 과학 학술지 사이언스 게재

임요한 선수의 승


다양한 분야에서의 실험과 실제 평가를 사람들에게 하는 것이 인상적.

그림의 경우 마소잡지에서 코드를 본 적이 있었다.


포커의 경우에는 권용진님의 인공지능 투자가 퀀트(데이터지능팟캐스트) 책에서 보면 처음에 포커로 시작을 해서 주식쪽으로 넘어가는데 단순히 이기고 지는 것이 배팅하는 금액과 관련된 알고리즘을 보면서 그것이 주식쪽으로 넘어간 것이라고 이야기 형식으로 설명하는데 인공지능에서도 포커의 인공지능 알고리즘 모델을 그대로 주식쪽에 활용할 여지도 있을 것 같다.(비슷한 분야에서의 재사용성?)



출처

EBS 과학다큐 비욘드 인공지능 2부 이미테이션 게임

'다큐' 카테고리의 다른 글

EBS 과학다큐 비욘드 인공지능 1부 지능만들기  (0) 2018.01.11
Posted by 커다란꼬꼬마

일본에서 붓글씨를 쓰는 인형(태엽)


로봇 - 보스턴 다이나믹스 백덤블링(Youtube)


시뮬에서는 되는 것이었는데 현실에서는 여러가지 요소가 많아(예전에 태웅님의 팟캐스트 말)

로봇이 이렇게 된것은 대단한 발전


새로운 것을 학습하면서 지능이 생긴다.


배우고 생각하는 것이란?


강화학습으로 틱택토 게임(예전에 포프tv에서 weka로 본것)


ndivia에서 자율주행차 영상

고양이 분류 영상 -> 데이터의 중요성


비전 인식분야에서 암수 초파리의 움직임을 학습하여 예측(처음 봄, 캘리포니아 공과대학의 피에트로 페로나 교수)


특별한 내용은 없었지만 태엽을 이용해서 붓글씨를 쓰는 것과 초파리를 이미지 비전에 사용한 것은 새로웠다.



출처

EBS 과학다큐 비욘드 인공지능 1부 지능만들기


'다큐' 카테고리의 다른 글

EBS 과학다큐 비욘드 인공지능 2부 이미테이션 게임  (0) 2018.01.11
Posted by 커다란꼬꼬마

Major tasks in data preprocessing

1. Data cleaning

  - Fill in missing values 

  - smooth noisy data, identify of remove outliers

  - resolve inconsistenciies


2. Data integration

  - integration of multiple databases, data cubes, or files

  - Need to handle data redundancy (e.g. chi-square test, correlation analysis)


3. Data reduction

  - Dimensionality reduction

  - Numerosity reduction (Sampling)

  - Data compression


4. Data transformation

  - Normalization

  - Discretization or Binning

'Machine Learning' 카테고리의 다른 글

헬스케어 챗봇 HealDa  (0) 2018.01.26
딥러닝 면접 질문 리스트  (0) 2018.01.17
금융의 역사를 통해 본 딥러닝의 함정  (0) 2018.01.17
지도 vs 비지도 학습  (0) 2018.01.17
Deview 2017 책 읽어주는 딥러닝  (0) 2018.01.10
Posted by 커다란꼬꼬마

1. 데이터

음성 추출 -> 문장 별 자르기 -> 텍스트 <-> 음성 맞추기 싱크


뉴스 + Youtube + 오디오북에서 데이터를 모음.


2. 모델

  TF - Tacotron(Google), Deep Voice 2(Baidu Research)


Tacotron



음성 합성 모델의 핵심

  - 학습하지 않았던 문장도 얼마나 잘 말할 수 있는가?

Attention - 집중하고자 하는 것에만 집중.


Deep Voice 2

  - Tacotron을 Multi-Speaker 모델로 N명의 목소리를 하나의 모델로.

  - GPU 메모리의 사용량을 줄일수 있다.

  - Speaker Embedding - 이 발화자는 여기서 이렇게 말할거니깐 다르게 계산.


Multi-Speaker 모델을 사용한 이유

  - Speaker의 데이터가 적을때 Multi-Speaker의 데이터를 이용하여 Loss를 줄이고 Attention을 잘하게함.

  - 완벽한 데이터가 완벽하지 않은 데이터의 학습을 도와준다.


3. 결과

  - 오디오북

  - 데모사이트(https://carpedm20.github.io/tacotron/)

  - Github(https://github.com/GSByeon/multi-speaker-tacotron-tensorflow)


데브시스터즈(http://www.devsisters.com/)의 개발자 김태훈님의 스피치

주제가 흥미롭고 데모와 발표가 좋았음. 특히 데이터의 첫부분에서 Raw 데이터를 노가다로 잘라서 만드는 부분이 대단.


출처

https://deview.kr/2017/schedule/182

https://www.slideshare.net/carpedm20/deview-2017-80824162

'Machine Learning' 카테고리의 다른 글

헬스케어 챗봇 HealDa  (0) 2018.01.26
딥러닝 면접 질문 리스트  (0) 2018.01.17
금융의 역사를 통해 본 딥러닝의 함정  (0) 2018.01.17
지도 vs 비지도 학습  (0) 2018.01.17
Major tasks in data preprocessing  (0) 2018.01.10
Posted by 커다란꼬꼬마

데이터 연결_DMP의 중요성

  - 데이터는 역사, 따라서 일찍부터 모은 기업들이 나중에 격차가 더더욱 커질것이다.

  - 데이터의 학습과 예측부분도 중요하지만 가장 많은 시간이 소요되는 전처리 과정을 위한 플랫폼이 중요하다. 비용적인 측면에서도 데이터의 반복적인 접근과 재사용성을 높여 비용을 줄일수있고 시간의 관점에서도 시간을 줄여 빠르게 변화하는 시대에 실시간적인 도움을 줄수있다.


출처

https://www.youtube.com/watch?v=GtUsiqENUnU

'일상' 카테고리의 다른 글

Funnel Analysis : basic  (0) 2019.01.25
DNS 터널링  (0) 2018.04.08
Category Theory  (0) 2018.02.05
Google AutoML  (0) 2018.01.23
빅데이터 가상화  (0) 2018.01.08
Posted by 커다란꼬꼬마

2018. 1. 8. 04:49 일상

빅데이터 가상화

빅데이터 가상화


출처

http://www.itworld.co.kr/news/82576

'일상' 카테고리의 다른 글

Funnel Analysis : basic  (0) 2019.01.25
DNS 터널링  (0) 2018.04.08
Category Theory  (0) 2018.02.05
Google AutoML  (0) 2018.01.23
데이터 연결_DMP의 중요성  (0) 2018.01.08
Posted by 커다란꼬꼬마
이전버튼 1 2 3 4 5 이전버튼

블로그 이미지
커다란꼬꼬마

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함