[후기] Deview 2016


개발자 컨퍼런스가 풍성한 10월이다. 저번주 테크플레닛 2016을 다녀오고 이번주는 Naver에서 주관하는 Deview 2016을 다녀왔다.

Deview는 작년에 이어 2년째 출석 중이다. 그 전에도 간 적 있었던것 같은데… (블로그에 글이 없으니 헷갈린당…이래서 글을 써놔야해..)

일단 작년에 비해 참석자가 더 늘어난 것 같았다. 정말 사람 많았다 ;;; 인기 세션은 자리가 모자라서 강연장 곳곳에 그냥 자리에 앉아 듣는 사람들도 많았다. 의자와 의자 사이가 좁아 많이 불편하긴 했다. 노트북을 다들 무릎위에 두고 치다보니 옆사람들과 부딪히는 일이 종종 발생했다.ㅠ 그만큼 Deview 행사의 규모도 커지고 개발자들의 참여도도 높아진 거라 생각한다.

해가 갈수록 더욱더 볼거리가 풍성해지는 Deview를 보며 한번 놀랐으며, 그 너머로 보이는 네이버의 규모, 로드맵에 대해서 또 한번 감탄사가 절로 나왔다.

AI, 인공지능, 딥 러닝 , 챗봇 api, 파파고까지 다양한 최신 기술을 직접 느껴 볼 수 있는 시간들로 가득했다.

이 외에도 다른 회사들의 크고 작은 트러블슈팅, 개발기 등을 들으며 직접 현업에 가져다 쓰고 싶은 기술들, 개인적으로 라도 공부해보고 싶은 것들을 많이 배울 수 있었다.

가장 크게 느낀 점은, 머신러닝, 딥러닝은 이제 미룰 수 없는 과제가 된 것 같다. 늦은 것 같지만 ㅠㅠㅠ 아직 진입하고 있는 사람이 많은 것 같으니 이제 미루지 말고 공부를 시작해야겠다.

그리고 기억에 남는 세션 중 하나는 1일차에 있었던 Apache Zeppelin과 오픈소스 비즈니스 였는데, 아파치 재플린이 어떻게 성공적인 오픈소스 프로젝트가 되었는지 공유한 시간이였다. 이번 deview 에서는 개발자 문화 관련 세션이 두개밖에 없었는데, 그 중 하나로 ,개발자로써, 오픈소스에 대한 갈증이 있다면 꼭 발표영상을 보길 바란다.

요즘 개발자 치고 오픈소스를 단 한번도 사용하지 않았다!! 라는 사람은 없을 것이다. 근데 기여를 하는 사람은 그렇게 많지 않을 꺼라 생각한다.(나 역시 그러하다..힝) 개발자 커리어에 도움이 된다는 것은 알고 있지만 시간을 내기가 어렵거나, 내 실력으로 저렇게 큰 프로젝트에 어떻게 컨트리뷰트를 할까라는 경우가 많을 것 같다. 하지만 강연을 들으며 오픈소스 매력에 흠뻑 빠지게 되었다. 많은 사람들의 github star(개발자들의 로망이 아닐까)와 전 세계인들과의 커뮤니티, 그리고 다양한 글로벌 회사들의 러브콜까지. 그 로켓에 발 하나쯤 사알짝 올려보고 싶은 생각이 많이 들었다. 빨리 찾아봐야징ㅋ

개발자 컨퍼런스는 항상 즐겁다. 그저 기술 습득의 즐거움 뿐만 아니라, 오랜만에 만나는 개발자 친구들도 좋고 새롭게 만나게 되는 사람들도 좋다. 이 마음 잊지말고 커뮤니티, 오픈소스 등 참여해보도록 해야겠다.

강연 발표 자료 : Deview 2016 Schedule

이번 참관 후기 역시 들은 내용 노트를 공유하며 마무리 하고자 한다. 이틀동안 이어진 세션들을 후다닥 정리한거라 저번보다 더 엉망 ㅠ.ㅠ..


내 스케쥴과 주제

topic 내용
[1] Web Payment API의 현재와 미래 W3C Web Payments 표준에 대하여 이야기
[2] REST에서 GraphQL과 Relay로 갈아타기 GraphQL와 Relay를 풀어나가며 실제 서비스에 어떻게 사용했는지에 대한 경험을 공유
[3] Apache Zeppelin과 오픈소스 비즈니스 Zeppelin 프로젝트를 어떻게 시작해서 성공적인 프로젝트로 만들었는지에 대한 여정을 재미있는 에피소드와 함께 이야기
[4] 한 달 만에 개발한 하이브리드 앱, 50만 사용자 서비스가 되기까지 네이티브 앱 개발 경험이 전혀 없는 웹 프론트엔드 개발자의 100% 웹뷰 하이브리드 앱 개발기
[5] 5년간의 네이버 웹엔진 개발/삽질기 그리고… 웹엔진에 대한 이야기, 그 엔진들의 기술적인 이슈들 뿐만 아니라 새로운 엔진을 만들고 그것으로 제품을 만들려는 시도 속에서 벌어지는 많은 이슈들도 함께 이야기
[6] 딥러닝을 활용한 이미지 검색: 포토요약과 타임라인 이미지 검색 서비스를 개선하기 위해 딥러닝을 활용한 다양한 방법을 소개하고, 검색 서비스의 인터페이스 개선에 응용한 대표적인 두가지 사례를 자세하게 소개
[7] 딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 쿠키런 AI 구현에 사용된 네 가지 연구(Deep Q-learning, Double Q-learning, Dueling network, Prioritized Experience Replay)를 소개하고 각각의 기술이 얼마나 성능을 향상시켰는지 보여줍니다.
[8] Backend 개발자의 Neural Machine Translation 개발기 Neural Machine Translation(NMT) 개발에 도전해서 성공한 경험을 공유
[9] 네이버 콘텐츠 통계서비스 소개 및 구현 경험 공유 람다아키텍쳐를 살펴 보고, Realtime과 Batch 데이타 흐름을 효과적으로 처리할 수 있는 구현체를 직접 구현 내용 공유
[10] 딥러닝 예제로 보는 개발자를 위한 통계 데이터마이닝, 머신러닝 그리고 통계 , 통계로 바라본 딥러닝 , 개발자를 위한 통계

[1] Web Payment API의 현재와 미래

webpayment api

삼성 인터넷앱

why? Motivation

신용카드를 이용한 결제

어떻게 바뀌냐

flow

장점

code level

Payment Request

paymentMethod

Details

Options

- 어떤 정보를 받을 것인지를 정의
- Ex) request shopping false이면 뭐 아이템? 사는거라 생각하고 택배 정보 노노 ### show()
- Promise

Shipping Address Change

- merchant가 택배이슈가 잇을때 ex) 수도권만 배송등

Shipping OptionChange

Payment Response

- pg로 결제 요청
- Complete 에 따라서 결제 성공/실패를 response 보내줌

browser 에서 바로 payment gateway (pg)로 바로 보내는게 아니라 merchant로 다시 보내주시면 알아서 서버호출을 하고 다시 커스터머에게 보여줘야함 이리 되면.. 귀찮아.. UI만 바뀌고 개발자가 해야할 일이 많아짐 .. 그래서!!

미래

payment app

이제는 내가 accept하는 payment app의 리스트를 넘겨줌

등록

  1. web based payment app
  2. Native payment app

웹 베이스의 경우

이렇게 되면 payment flow가 조금 바뀐다

장점

Merchant

Payment app

code level

service worker

설치

예제

worker 입장에서

- 브라우저에 의해서 service worker가 활성화
- Onpaymentrequest가 불리우고 결제 정보를 받고 > 결제에 대한
- OpenWindow >> 광고 화면을
- PostMessage>> 필요한 정보를 보냄

[2] REST에서 GraphQL과 Relay로 갈아타기

Rest API

JSON:API

- Relationship
- 부분필드,
- 필터 적용 등등등 그래도 rest의 한계가 느껴짐

한계

필드타입을 전혀 정하지 못함

Side effect

GraphQL

스키마 정의 하기

스카마가 정의도면 express-graphql 을 이용해서

Graphql clinet - lokka ? 를 사용해서 클라이언트에서 사용할수 잇음

GraphiQL

Relay

컨셉

노드

 Query {
	node (id:1) {
		id,
		user,
		age
	}
}

데이터 매니지먼트에 용이함, cache를 한다던가 String 만으로는 resource 알기 어려움 type과 id가 합쳐진 GrobalId를 이용하여 알랴줌

NodeDefinition

커넥션

React Relay

Mutation Config

summary

  1. 기존 GET/DELE - » Query / Mutation

  2. 데이터를 미리 정해야 하고 그게 애매햇는데 » 항상 데이터 의존성을 명시 ( 기본이 없고 원하는 것만)

3.필드가 정해져 잇지 않아 문서화 하지 않으면 협업이 어렵 ( 이게 integer인지 string인지) - 타입이 정해져 잇고 (strong type) 프로토콜 단에서 확인할 수 있음 - Introspection

  1. 기존에는 어떤 param을 받는지를 명세 해놔야 함 » 데이터 의존성에 명세할 필요가 없음 .
  2. 데이터 변경 사항을 클라이언트에서 처리를 각각 해야함 - mutation config를 잘 써주면 알아서 데이터 변경 사항을 처리한다 .

질문

Q Redux + graphql

redux를 쓰게 되면 relay 를 같이 쓰긴 어렵. data와 render가 분리 되어있어서 뷰와 데이터가 분리가 되는게 요즘 대세긴 하지만 그냥 데이터를 받아와서 뷰에서 핸들링 해주는게 더 편하더라 redux보다는 그냥 relay만 사용하는게 더 편하더라

Awesome graphql

Q 만약 Spring framework를 쓴다면..

Q angular와 같은 다른 framework 와 써도 되나요

Q 앱에서도 적용해본적 있나유? - http 에 국한된게 아니라 - protocol일뿐. - 소켓에서 때리든 자바스크립트에서 ajax에서 string으로 만들어서 보내든 - 뭐 그래서 상관이 없을 것 같다.

어느 정도 React Native

Q SQL 최적화

Q null이나 제너릭 obj 을 지원하지 않음

이러다간 끝이 없을것 같아 스키마에 추천하는중

[3] Apache Zeppelin과 오픈소스 비즈니스

발표자

어떻게 시작되었나

어떻게 시작할까

아파치 프로젝트가 된다는 것은

아파치 재단

아파치 재단은 - Community over code - 좋은 커뮤니티를 만드는것이 재단의 목표 - 인큐베이터 : 아파치방식으로 일하는 방법, 의사결정하는 방법 - 탑레벨 프로젝트 혹은 subproject

트롤을 vote를 통해서 쫓아낼수 잇는데 멘토들의 조언

탑레벨이 되면

PMC Committer Contributor

의사결정

아파치 프로젝트의 가장 큰 장점

오픈소스 프로젝트 종류

크게 두가지로 나눌 수 있을 것 같다.

어떤 프로젝트의 릴리즈가 그냥 딱 오픈된다. ( 의사결정을 어떤 집단 혹은 회사가 결정)

오픈소스 비지니스

ZepplinHub

극대화 하기 위해 다양한 전략을 수행

그 결과로

깃헙 별 갯수 아파치 프로젝트 중에서 12번째

컨트리 뷰터 숫자는 153명으로 8위

이제는 유명한 프로젝트

컨트리뷰션 하는 회사들

사용자

생태계

비지니스 측면

성공적인 오픈소스 프로젝트를 만들기 위해서는

오픈소스 프로젝트로 도움된 것

덧붙여

질문

Q 선순환 구조, 사용자를 늘리고 ,.. 선순환을 시작 되려면? 한정된 리소스, 개발자의 시간. (개발, 홍보, 메일링 리스트 뒤지기 등) 어떻게 시작하셧는지

A

[4] 한 달 만에 개발한 하이브리드 앱, 50만 사용자 서비스가 되기까지

마이크로 앱으로 간보기

첫 시도

보이는 것들은 앱 같아 보이지만 앱으로써 당연해야 할 것들이 미흡했음

하이브리드가 넘어야 할 장애물

  1. view전환 효과
    • 쓱쓱 넘어가는
  2. 터치 반응 지연 시간
    • 웹뷰 터치 반응시 300ms의 지연시간이 존재
    • single tap과 double tap 구분을 위한 설계 의도
    • 이를 해결하기 위해 fastclick.js / hammer.js 가 대표적
  3. 유려한 애니메이션 처리
    • css webkit transition translate3d 하드웨어 가속으로는 괜찮지만
    • css/ javascript 는 뚝뚝 끊김 ( 모바일 쥐쥐)
  4. 푸시
    • push notification
    • 소설로그인

두번째 시도

여러 앱을 만듬.

그 후 개선된 구축 방식

- IonicFramework로 제작
- Angular + cordova

정리..

하이브리드앱

해먹남녀 하이브리드 앱 개발

상황

하이브리드로 아예 새로 만들죠

정리

스팩 산정

Ionic Framework 개발 착수

제작!

화면을 제일 먼저 만듬. - AngularJS Directive

가장 고민 되었던것

1.View 전환의 위계문제

-> 모두 모달로. 위계가 없는 페이지끼리 모달을 위에 띄워서.

제작 2주차

앱 내에서 데이터 sync 맞추기

문제!

하다보니 플러그인이 30여개

기본적으로 해야하는게 안되는게 있음 .

3주차

Infinitescroll

indicator 를 띄워서 무리한 scroll을 못하게

아이폰5

이미지 리사이즈

사용자 피드백 대응

실시간 업데이트

Ionic 기본 프로젝트 폴더 구조에다가만 다 넣어버리니 1 file of controller 1 file of service

컴포넌트별로 목록을 나누는게 좋음.

cordova핵심 - config.xml 프로젝트 설정 파일

코드의 재사용

iCook

회고 및 정리

힘듬…

방법론

제한적인 환경에서 의사 결정 방식.

추천하는 경우

너무 개발자 욕심만 내기에는 돈이 없어지면… 서비스도 없어지는 것 빠르게 만들어야 함..

[5] 5년간의 네이버 웹엔진 개발/삽질기 그리고…

why

Web OS

Contents

특화된 것 .

App engine

Device

그래서… 웹 플랫폼을 만든다는 것 저 위에있는것 모든것.. 너무 큰 일..

웹 브라우저 엔진

Webkit

Chromium

Mozila

결론. 웹킷

네이버에서 한것

cross platform

thin client

브라우저

네이버 웹 브라우저 엔진 : Sling

ONIG

크롬 좋네 파이어 폭스에 Mor2D가 좋다 MS IE의 chakracore가 좋다.

Web browser

데스크탑 브라우저

결론. 크로미움.

장점

커버리지가 높음. 브라우저 자체의 베이스라인 이 높음. (알아서 해주는게 많음) 크로미움에도 자체 테크를 넣을 수 있음.

슬링을 버리지 말고

Whale

고민

multitaking 을 계속 강요당햇던것 같아.. 이제 그 다음은 ?

Omni-taking

투 매니 탭스 (over-tabber) - 브라우저에서 탭 넘나 많이 사용하고 잇는거 - 다 쓰고 잇지도 않은데 왜 그렇게 켜놓고 잇을까? - Ex) 쇼핑 하다보면 새로운 탭이 열고 열고 - EX) 좋은 뉴스라면서 누가 보내주면 일단 올려두고 마음의 안식으로 언젠가 봐야지 하면서 계속 탭을 늘려가게됨.

Whale space

밸리

퀵서치

사이드바

스마트 팝업

techlogies

장점

디자인 : 인간적인 모던함, 좀 더 따뜻하게 기존 : 차가운 툴

질문

Q. UA가 어떻게 나오나요

Q 크롬과의 동기화

[6] 딥러닝을 활용한 이미지 검색: 포토요약과 타임라인

이미지 검색

이미지 description

이미지 딥러닝

문제 정의

이미지 검색 오버뷰

Deep learning의 역할

문서분석

메타 텍스트 정제

이미지태깅

정답 도구

기존 결과중에 괜찮은 것들을 체크하게 함. 그것들을 딥피처를 뽑아내서 좋은 결과가 어떤건지를 찾아냄.

딥러닝을 이용한 이미지 검색 (사용자 인터페이스 개선)

포토요약

기술

VGGNet Finetuning

타임라인

Ex) 인물과 식당.

이벤트를 타임 라인으로

같은날/같은 장소면 머리나 스타일이 비슷비슷

스타검색/이미지 서비스로 나가는중

이벤트를 찾는것 event detection

이벤트

Ex) 포토뉴스 데이터 - 제목이 짧고, n개의 이미지, m개의 문장 - 서로 다른 어휘, 기자님의 사소한 실수(오타, 이름 헷갈리는것) » 이런 노이즈도 감안해야함

데이터 전처리

분류

중요 task

다양한 사진을 어떻게 정리하나

잘 묶이긴 하는데 너무 비슷해서 중복되고 지루하다.

어디까지 보여줘야 하나가 중요해짐 » 랭킹이 중요

최대한 다양한 리소스로 랭킹을 묶자.

이미지 설명문 찾기

서비스

Event Card 역시 search by text

서비스를 만들고 싶엇고 그걸 하기 위해서 어떤 기술을 있는지

[7] 딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기

딥러닝 + 강화학습

딥러닝

강화 학습

학습

  1. 지도학습
    • 학습 데이터가 있을때 정답 ㅇㅇ
    • 분류
  2. 비지도 학습
    • 학습데이터가 잇는데 정답이 없음
    • 상관 관계를 학습
    • 클러스터링
  3. 강화 학습
    • 분류도 군집도도 아닌것

Ex) 로봇 걷게 하기

목표

이런 state를 통해 행동을 결정한다. State > 뉴럴 네트워크로 들어오고 가장 적절한 행동하는것을 뽑아낸다 ex) 점프를 한다. 이를 통해 Action을 하게되고 점수를 타게되면 양수의 리워드를 주고 틀리게 햇으면 음수의 리워드를 돌려주어 학습 시킨다.

체력이 깍이게 되면 음수 리워드를 줘서 다른 행동을 예측하도록 학습 시킨다.

목표를 달성할때까지 계속 .

DL + RL로 뭘 했을까? alphaRun이라고 하는 것을 만듬 .

밸런스 팀

AI가 플레이를 하면

평균 플레이 4초 : 단일 프레임에 제한시간이 잇지 않음 1개 6프로세스면 14일이 걸림

지탱하는 기술들

Q(s,a) = 기대되는 미래의 가치 Q Action = 점프, 슬라이드, 가만히 Q 가 가장 높은 행동을 을 선택한다.

쿠키런의 가치 : 점수

Q > 쿠키런의 점수 . 미래의 점수의 합

Loss를 계산. 더블큐 러닝

가끔 하나씩 놓치기도 하고 가끔 이상한 행동을 함. (가만히 잇으면 되는데 그냥 막 뜀) 2. 더블 큐 러닝

loss = (예측 - 정답 )제곱 > 0에 가깝도록 학습 학습 처음에는 거의 0에가깝다(Q값이 둘다 0에 가깝) 가 예측값이 높아지고 정답도 올라가게 된다.

우리가 예상하는것보다 더 높아짐 Q는 계속 발산하게 되는데 어째뜬 로스는 계속 작아져서 예상 못하는데로 튀게 됨

더블큐 러닝 : 너무 커지지 않도록 사용되는 기술

오오오 잘되 근데 새로운 랜드로 들어가니 더 다양한 장애물과

  1. 듀얼링 네트워크
    • 막 상황이 바뀌어서 정확한 Q를 예측하기 어려울때 ( 10인지 1인지)
    • 꼭 정확하게 예측할 필요가 있을까?

슬라이드를 x라는 기준값을 줫을때 점프를 했을때 x+1인지 가만히 있을때 x+2인지를 확인해서 대강적으로 액션을 취한다.

하나의 기준을 두고 그 차이를 비교하는게 더 쉽겟다

Q = V + A(s,a)

딥 큐네트워크 + 듀얼링 네트워크 하나를 더 추가 V가 예측을 잘 못하더라도 A가 잘해주게 되면 잘 학습 할 수 있음

Max 듀어링을 선택함. 상황이나 뭐 다른거에 따라 달라질 수 있으므로 이게 정답은 아니다.

그래도 안된다면

엔지니어링

  1. 하이퍼파라미터 튜닝
    • 학습에 필요한 파라미터들을 바꿔본다.
    • 네트워크 바꿔보기, 옵티마이저 바꾸기, 리워드식 바꾸기
    • 젤리를 먹엇느냐가 아니라 젤리를 얼마나 놓쳣느냐 등
    • 70개가 넘는 하이퍼파라미터들이 나왓다. - 너무 많으면.. 과유불급 - 성능은 올릴수 잇지만, 끝이 없어서 힘듬 - 고정 시킬수 잇는 변수는 정해서 건드리지 않는다. - 랜드, 쿠키를 정해두고, 하이퍼 파라미터를 정리하고 돌림. - 텐서보드를 사용하는군
  2. 디버깅
    • 딥러닝은 디버깅이 어렵다.
    • 네트워크가 정확히 어케 판단하게 된건지 알수 없다.
    • 쿠키가 이상하게 행동하는데 이유라도 알려줬으면….

Ex) 해결한 예제

시도 해봣다면 좋앗을 디버깅

Exploration을 어떻게 하고 있는지

  1. Ensumble method 앙상블 메소드
    • 여러가지 실험을 통해 얻은 모델들에게 같은 S를 넣어서 그것들을 조합해서

텐서플로에서는 앙상블 메소드를 사용하기가 어렵

In 텐서플로

그럼 그래프 두개를 그린다? 이것도 안대 한 세션에서는 하나의 그래프만 존재

고로 세션2 그래프 2개 로 해야한다.

텐서플로 코드 예제

이러한 방식으로 보너스타임만도 학습. 네트워크 두개를 만들어 보너스 타임일때 일단 게임 모드일때따로따로 보너스타임에는 장애물이 없으니 한번만 학습 시켜도 댐. (시간 단축)

밸런싱 자동화 하기

[8] Backend 개발자의 Neural Machine Translation 개발기

기계 번역

뉴럴 머신 트랜스레이션 (NMT)

NMT 구조

입력 > end of sentence (EOS) 넣고

Encoder와 Decoder로 구성

주요 NMT

개발에 앞서 어떻게 학습하였나

  1. Word2Vec
    • 옛날엔 괜찮은 뉴럴 네트워크가 없엇음
    • 워드를 벡터화 시킨다.
    • 앞 단어와 뒤 단어를 학습해 뒤로올 단어를 예측 확률 극대화 시키게 그 과정에서 Word Vetor들이 조정 됨 > word embedding
    • Man - woman
    • Uncle - aunt
    • King - queen
    • 이와같이 비슷한 관계를 가진 단어들 = same vector

Bilingual word embedding을 하고 싶엇음 Uncle - 이모 이렇게 하고 싶엇는데 잘 안됨 »그래도 뉴럴 네트워크 워드 벡터에 대해서 이해를 하게 되었음

KSTM LM - 네이버에서 만든 랭기지 모델 - 랭기지 모델 : 문장의 생성 확률 분포 ○ Real world의 문장 분포를 기반으로 확률 분포 계산 ○ 엄마는 아기를 매우 (사랑한다) - 이 경우 너무 많아.

N gram language model N-1개의 이전 단어 열을 이용해 다음 단어를 예측하는 방법

  • 다음 올 단어에 대한 확률을 근사값으로 계산 할 수 있다.

RNN 이 적용되기 시작 문장의 단어가 순차적으로 들어가면 네트워크로 반복적으로 들어가게되고 다음 나올 단어를 예측.

LSTM : long shor term memory 1보다 작은 값을 자꾸 계속 하게되면 0으로 수렴해서 희석되서 사라짐  » LSTM을 통해 완화됨. - 단기 기억을 오랫동안 - 구성 : input gate - / forget gate - / output gate - / cell - , hidden output

소프트맥스 레이어를 더 올려서

개발 과정

Stacked LSTM 기반 NMT

NMT vs LSTM

개발하려고 할떄… 막막해서 찾아보니 슈스케? 분의 동영상을 봄

1단계 : 임력 문장 재생성 하기 : 입력 문자를 인코딩하고복호화 되도록 다시 디코딩

– > 영어로 인코딩 한다음에 독어로 디코딩하니 번역도 되더라 – > 만약 인코딩하는 부분이 그림이라면 description이 디코딩 될 것.

2단계 : Small parallel Corpus로 작은 NMT만들기

3단계 : 퍼포먼스 향상을 위한 개선

학습속도를 올리기 위해 multi-GPU (ref stacked LSTM 논문에 나오는데로 구현해봄) 멀티 패러렐 로 돌리면 학습시간 단축 .

계산량이 가장 많이 드는건 softmax쪽 5만개 단어 - 1000차원 == 매트릭스 5만 * 1000 이 연산을 하려면 맥트릭스 연산의 크기는 매트릭스 5만 * 1000 * (1000 * 1 ) 이 필요함.

–> Vocab 개수 증가하면 계산량 증가

####4단계 : Attention

어텐션을 구축하게 되면 어텐션 맵이라는게 나오는데. Ex) jon loved Mary. -> jonn은 noun으로 매칭이 높에 나옴.

##N2mt ###소개

내가 지각(late)했다는 것을 지각(perceive)했을때 너무 늦었다(late). 잘 되는 예문 ㅋㅋㅋㅋㅋㅋㅋ

실제 파파고앱에서 직접 사용해 볼 수 있다. Labspace NMT ?

정량적 평가

- 평가방법 BLEU
- 이거 1점 올리기가 겁나 힘듬. ## 정성적 평가 - blind test
- 거의 2배정도의 향상

번역 결과의 주요 특징

softmax쪽에 계산량이 너무 많아서 vocab 갯수에 제약이 생김

마무리하며

[9] 네이버 콘텐츠 통계서비스 소개 및 구현 경험 공유

intro

개선 배경

어려움

overview

통계결과

계산 방식

규모

보는것도 다 통계시스템에서 제공

아키텍쳐

네이버 아키텍쳐

lessons learned

Exactly-once

logstash

Kafka

Storm

Spark streaming

분산/병렬 처리

로그 스태시

카프카

스파크 스트리밍

Aggregation 최적화 (배치)

스파크SQL

Elasticsearch vs parquet

초기에는 엘라스틱 쓰다가 배치 데이터 가져오는걸 parquet colum db라는걸로 바꿈

배치 처리에는 파켓이 더 적합

응답속도 최적화

###엘라스틱 서치

routing

복합 필드.

execution_hint

Java GC

그래도 간간히 생김

캐시 정책

확장성과 가용성

availability

- 이중화를 적절히 적절히

운영

spark 메모리 오류

Off-heap 메모리 를 기본값보다 큰 값으로 설정하면 메모리 초과 오류가 적어짐.

elastic 보안

정리

질문

Q. 평균적인 es 시간

Q. 서버 한대 스팩?

[10] 딥러닝 예제로 보는 개발자를 위한 통계

  1. Data mining
    • 문제를 푸는데 특화
    • 네이버 연관 검색어. 해결한 문제가 많다.
    • 하지만 안풀리는것도 많다
  2. 머신 러닝
    • 역사가 오래되다보니 광범위함 ㅋㅋ
    • AI는 모든 컴퓨터 사이언스다.
    • 이 안에 딥러닝이라던가 등등등이 있다.
    • 네이버 랭킹
  3. 통계
    • 통계 하나로 푼 문제는 별로 없다.
    • 데이터 마이닝과 머신러닝을 함께 해서 푸는 방법

통계가 왜 필요한가?

Deep Learning in ML

ReLU 의 정체

Generalized linear model -통계에서는 굉장히 익숙한 모델

통계에서는 이미 있는 함수인데 머신러닝 함수에도 다 매핑되는 게 있음 .

머신 러닝

어떻게 통계를 공부를 했는가

통계 (발표자가 생각하는 개발자가 알아야할 통계)

기초통계

분포 통계

LDA를 책으로 공부햇으면 몰랏을꺼다. 네이버에서 어쩔수 없이 적용하게 되면서 알게됨

회귀 통계