티스토리 뷰

1. 모두를 위한 안드로이드 새 소식 - 양찬석 (구글 코리아)

1-1) Storage

- Android Q 이전 : 내부 저장소(개별 앱만 접근 가능) / 외부저장소(권한이 있으면 누구나 접근 가능)

- Android Q : 잘 알려진 콘텐츠를 위한 공용 저장 공간(Audio, Video, Image), 외부 저장소 권한으로 다른 앱이 생성한 파일 접근 가능, 다운로드 접근 공간(사용자가 명시적으로 선택한 경우에만 사용 가능)

- Scoped mode : 원활한 마이그레이션을 위해, Scoped mode 적용여부를 선택할 수 있는 플래그를 제공 (requestLegacyExternalStorage), 다른 플랫폼 버전(R)에서 모든 앱에 적용 예정(1년간의 유예기간)

1-2) Location

- 앱을 사용(foreground)중일때만 권한 체크함, 백그라운드에서 위치 정보가 필요한 경우에는 Q 대응을 해야 함 (사용자 마음대로 수집되지 않을 수 있음)

- Location Permissions Reminder : 어떤 앱이 백그라운드에서 위치 요청을 하는 순간 노티피케이션으로 알려줌, 사용자가 권한 설정을 변경할 수 있음

1-3) Device ID

- READ_PRIVILEGED_PHONE_STATE 권한 설정하면 사용 가능하지만, 선탑재된 앱만 가능하므로 일반 앱에서는 불가능한 권한이라고 보면 됨

- 광고ID, Android ID는 사용 가능

1-4) 백그라운드 액티비티 실행 금지

- 다른 백그라운드 서비스에서 임의로 띄우는 시나리오 불가, 가능하면 Notification으로 대체하는 것을 권장함(setFullScreenIntent)

1-5) System UIs

- Dark Theme : Quick panel setting/System setting에서 사용자 설정 가능

- Force Dark : Automatically convert app to dark theme

- WebView 지원 : ‘prefers-color-scheme’ CSS media query

1-6) System Gesture Insets

- System Insets의 UI 부분이 의도대로 동작하지 않을 수 있으니 주의 필요, Overriding getures로 해당 영역을 커스텀 동작하도록 수정 가능

1-7) Gentle Notifications

- 소리, 진동이 나지 않음 (개발자가 초기화하고, 사용자가 임의로 조정할 수 있음)

1-8) Platform

- How ART works? : Interpreter + JIT + AOT, 안드로이드 앱은 최초로 실행할 때가 가장 느림

- No more Zygote : Q부터는 사용 안함, Process Pool에서 실행

1-9) Android Jetpack

- CameraX : Preview, Capture, Image analysis (LifecycleOwner에서 사용 가능)

- Security : 암호화된 파일을 쉽게 사용할 수 있게 한 보안 라이브러리, 암호화된 Shared Preferences 제공

1-10) Future : App bundle + dynamic delivery

2. Flutter를 소개합니다! - 김석용 (RootOne)

2-1) React Native : JS <-> JS Bridge <-> Native Platform

2-2) Flutter : Dart, Skia(Render), iOS/Android/Web/Desktop 지원(Flutter everywhere)

2-3) 개발 : Hot reload, Widget(StatelessWidget/ StatefulWidget), iOS는 Cupertino, Android는 Material로 각각 그려줘야 자연스러운 look & feel 가능, pod spec.yml (프로젝트 구조 존재), https://pub.dev/ (like npm)

2-4) Tips : 복잡한 뷰를 그릴수록 따로 모듈화를 자주 해야 한다! (중첩되는 뷰 트리 구조..)

2-5) Dart : Widget.build(..), setState(..), Scaffold(Material Design을 그리는 상위 껍데기), Async/Await(비동기, JS와 유사)

2-6) StatefulWidget Lifecycle

- createState() : StatefulWidget를 빌드하게 되면 createState()를 호출

- initState() : onCreate(Android) / viewDidLoad(iOS)

- setState() : 해당 데이터 변경 알림

- dispose() : StatefulWidgetd이 제거될 때

2-7) 결론 : Fast Dev, Expressive UI, Native Performance

3. Machine Learning in Google I/O 2019 - 신정규 (Labub.Inc)

3-1) 총론 : Google은 “웹”을 통해 “정보”를 제공하는 회사 -> 머신러닝은 ‘고급화’ 역할

3-2) 응용폭의 확대

- Coral : Edge TPU 기반의 하드웨어군, Mendel OS, TF Lite 모델 변환 컴파일러(ops 제약이 큼), Python SDK

- TF Lite : 엣지 디바이스를 목표로 한 TF, GPU/NPU 지원, TF 1.0/TF.js와의 모델 호환성 유지

- TF.js + PWA : node.js 기반의 서버사이드 트레이닝 지원 (GPU 지원 안 함), prebuilt 모델/TF Hub(AI Hub) 지원

- Swift for TF : 컴파일러 단계에서의 새로운 접근, Full-Stack(C++ + Python + TF Lite)을 Swift로 작성 중, 미래(?)

- TF 2.0 : Keras 문법 적용, Eager Execution 지원(세션 구조는 퇴출), 기존 코드는 tf.compat.v1로 옮겨 감

- TF-Agents : 강화학습 지원을 위한 TF 라이브러리, pybullet과의 통합, Jupyter Notebook 예제 제공, Unity 지원

- 공정한 머신러닝 (ML Fairness) : 데이터의 편중으로 인한 문제 (자율주행, 이미지 인식, 대화형 모델 개발 등) -> 투명성 프레임워크 (Transparency F/W)

3-3) 정보 보호의 강화

- Federated Learning (통합 학습) : 사생활 침해를 최소화한 분산 데이터 기반 훈련, 데이터 섬(Data island) + 에지 컴퓨터 기반, TF Federated(PySyft(for Pytorch) -> 트래픽 및 자원 절약, 사생활 보호, 기업 내부 데이터를 노출하지 않은채로 모델 훈련 협업(!)

- On-chip 어시스턴트 : 어시스턴트의 다양한 기능을 칩으로 구현, 네트워크 없이 가능, 처리 지연 시간을 1/10으로 줄임

3-4) 클라우드 + 머신러닝

- TPU Pods V3 : XLNet 공개 (BERT 능가, TPU Pods V3을 쓰면 2.5일만에 트레이닝 가능, 비용은 2.9억;;)

- AutoML Vision Edge : Firebase(MLKit) + 모바일 + 전이학습

4. All you need is Google’s AI Tech - 김준성 (ScatterLab)

4-1) Research Overview (2018-2019)

4-2) NLP

- History : Word2Vec -> 통계기반 LM -> (Multi-Layer)Bi-LSTM LM -> ELMo -> BERT -> GPT-2 -> XLNet

- BERT (2018) : 이전 단어들을 주고 그 다음 단어 맞추기

- Pre-training에는 대량의 텍스트 데이터(Wikipedia) 사용 (대량의 시간)

- Fine-Tuning Sub Task : 레이블링 된 데이터셋으로 Fine-Tuning (얼마 안걸림)

- The Evolved Transformer (2019)

- Applying NAS AutoML based on Transformer

4-3) Vision

- Self-Supervised Tracking via Video Colorization (2018)

- Object Tracking이 대량의 Pixel 단위의 Labeling이 필요 -> 개선 필요

- 하나의 프레임을 기준으로 색을 칠하는 훈련을 시킴 (같은 색깔이면 같은 오브젝트(?))

4-4) Speech Generation

- Towards End-to-End Prosody Transfer for Expressive Speech Synthesis with Tacotron (2018)

- 단순히 문장(str)을 Voice로 생성 시키는게 아니라 ‘억양의 스타일’을 참고하여 생성해보자

- An End-to-End Speech-to-Speech Translation Model (2019)

- 중간에 텍스트 변환없이 음성 -> 음성으로 변환해 보자 (ASR + 번역 + TTS 과정은 너무 복잡함)

- Multi-Task Objective Training -> 아직 Ground Truth(목표하는 성능)에는 미치지 못함

- Voice-To-Voice Translation의 시작, End-to-End 번역의 출발점(?)

4-5) Speech Recognition

- Streaming End-to-End Speech Recognition for Mobile Devices (2018)

- On-Device에서 바로 Inference 할수 없을까?

- AS-IS : Acoustic Model -> Pronunciation Model -> … (용량이 너무 크고 복잡)

- TO-BE : Recurrent Neural Network Transducer(RNN-T) : 모델 크기를 80MB로 줄임 -> 오프라인에서도 음성인식이 가능

5. AllReduce for distributed learning - 한성민 (Naver Clova)

5-1) Distributed learning

- Parameter Server (Downpour SGD)

5-2) AllReduce

- Parameter Server가 없고, 각각의 노드끼리 통신함 -> 모든 Worker가 학습된 것을 공유 (모든 데이터가 동일해짐)

- horovod Architecture (Uber) -> Ring AllReduce

5-3) Federated Learning

- (개인 또는 기업) Privacy 보호 가능 (Secure Aggregation)

5-4) Cloud TPU Pods

- TPU v3 architecture : On-Device memory, unit up (H/W), XLA(S/W)

- 1-D ring AllReduce, 2-D ring AllReduce

 

'IT소식' 카테고리의 다른 글

[Google I/O] What's New Android 살펴보기 (2019)  (0) 2019.05.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함