한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
Android를 위한 코틀린 개발용 확장 라이브러리인 Android KTX를 소개합니다.
2018년 2월 28일 수요일
<블로그 원문은
이곳
에서 확인하실 수 있으며, 블로그 번역 리뷰는 김태호(Google)님이 참여해 주셨습니다.>
게시자: Jake Wharton(
@JakeWharton
), Florina Muntenescu(
@FMuntenescu
) 및 James Lau(
@jmslau
)
저희는 오늘 Android KTX 프리뷰를 발표합니다. Android KTX는 안드로이드를 위한 코틀린(Kotlin) 코드를 간결하고 조화로울 뿐 아니라 더 즐겁게 작성할 수 있도록 설계된 확장 라이브러리(Extensions) 입니다. Android KTX는 안드로이드 프레임워크와 서포트 라이브러리를 모두 지원하여 코틀린 코드를 더 자연스럽게 사용할 수 있게 해 줍니다.
안드로이드 프레임워크를 지원하는 Android KTX를 이제
GitHub 저장소
에서 이용할 수 있으며, 여러분의 피드백과 기여를 기다리고 있습니다. Android KTX에서 안드로이드 서포트 라이브러리를 지원하는 Android KTX는 앞으로 출시될 서포트 라이브러리와 함께 공개될 예정입니다.
Android KTX가 더욱 자연스럽고 간결한 Kotlin 코드 작성에 어떤 식으로 도움이 되는지 보여주는 몇 가지 예를 살펴보도록 하겠습니다.
Android KTX를 사용한 코드 샘플
String을 Uri로 변환
이 간단한 예부터 살펴보겠습니다. 일반적으로 문자열을 Uri로 변환하려면 Uri.parse(uriString)을 사용합니다. Android KTX는 문자열을 Uri로 더욱 자연스럽게 변환할 수 있는 확장 기능을 String 클래스에 추가합니다.
Kotlin
Android KTX 를 사용한 Kotlin
val uri = Uri.parse(myUriString)
val uri = myUriString.
toUri
()
SharedPreferences 편집
SharedPreferences를 편집할 때 Android KTX를 사용한다면 작성하는코드의 양도 줄이고 기존 대비 더 자연스러운 코드를 작성할 수 있습니다.
Kotlin
Android KTX 를 사용한 Kotlin
sharedPreferences.edit()
.putBoolean(key, value)
.apply()
sharedPreferences.edit {
putBoolean(key, value)
}
경로 차이 변환
아래 코드에서는 두 경로의 차이를 100px로 변환합니다.
Kotlin
Android KTX 를 사용한 Kotlin
val pathDifference = Path(myPath1).apply {
op(myPath2, Path.Op.DIFFERENCE)
}
val myPaint = Paint()
canvas.apply {
val checkpoint = save()
translate(0F, 100F)
drawPath(pathDifference, myPaint)
restoreToCount(checkpoint)
}
val pathDifference = myPath1 - myPath2
canvas.withTranslation(y = 100F) {
drawPath(pathDifference, myPaint)
}
View에서 onPreDraw 콜백 처리
이 예에서는 View의 onPreDraw 콜백에서 수행하는 작업을 보여줍니다. Android KTX를 사용하지 않을 경우 상당히 많은 양의 코드를 작성해야 합니다.
Kotlin
view.
viewTreeObserver
.addOnPreDrawListener(
object
: ViewTreeObserver.OnPreDrawListener {
override fun
onPreDraw(): Boolean {
viewTreeObserver.removeOnPreDrawListener(
this
)
actionToBeTriggered()
return true
}
})
Android KTX를 사용한 Kotlin
view.
doOnPreDraw
{
actionToBeTriggered()
}
이 외에도 Android KTX를 사용하면 다양한 코드를 더 짧고 단순하게 작성할 수 있습니다. GitHub에서
전체 API 참조 문서
를 읽어 보실 수 있습니다.
시작하기
Android Kotlin 프로젝트에서 Android KTX를 사용하려면 앱 모듈의 build.gradle 파일에 다음을 추가해야 합니다.
repositories {
google()
}
dependencies {
// Android KTX for framework API
implementation 'androidx.core:core-ktx:0.1'
...
}
그런 다음, 프로젝트를 동기화하면 Android KTX에서 제공하는 확장 함수들이 IDE의 자동 완성 목록에 자동으로 표시됩니다. 확장 함수를 선택하면 필요한 import 문이 파일에 자동으로 추가됩니다.
프리뷰 기간 중에는 API가 변경될 가능성이 크다는 점에 주의하세요. 프로젝트에 Android KTX를 사용하기로 결정할 경우 안정적인 버전이 출시되기 전에 많은 변화가 있을 거라는 점을 알고 계셔야 합니다.
androidx: Hello World!
Android KTX가
androidx
로 시작하는 패키지 이름을 사용한다는 점을 알 수 있을 것입니다. 이는 새로운 패키지 이름 접두사이며, 이후 안드로이드 서포트 라이브러리에서 사용할 예정입니다. android.*와 androidx.*의 구분을 통해 플랫폼과 함께 번들로 제공되는 API가 무엇인지, 그리고 여러 버전의 Android에서 작업하는 앱 개발자에게 정적인 라이브러리는 무엇인지에 대해 더 명확히 알 수 있기를 바랍니다.
다음 단계
오늘의 프리뷰 출시는 시작에 불과합니다. 앞으로 몇 달 동안 여러분께서 제공해 주시는
피드백과 기여
를 통합함에 따라 API 작업을 반복할 것입니다. API가 안정화되고 API 호환성을 충족할 수 있게 되면 Android KTX를 Android 지원 라이브러리의 일부로 출시할 계획입니다.
여러분과 함께 Android KTX를 빌드할 수 있기를 기대합니다. Kotlin으로 즐겁게 개발해 보시기 바랍니다!
새로운 AR코어 1.0 출시와 구글 렌즈의 업데이트 내용을 공개합니다.
2018년 2월 27일 화요일
<블로그 원문은
이곳
에서 확인하실 수 있습니다.>
아누지 고살리아, AR 엔지니어링 디렉터
구글은 AR코어와 구글 렌즈로 스마트폰 카메라를 더욱 더 스마트하게 만들고자 노력하고 있습니다. 개발자들은 AR코어를 통해 주변 환경을 이해하면서 거기에 사물과 정보를 배치할 수 있는 앱을 만들 수 있습니다. 구글 렌즈는 카메라를 사용해 우리 눈에 보이는 세상을 이해하는 데 도움을 줍니다. 예를 들어, 명함을 잃어버리기 전에 연락처 정보를 자동으로 생성할 수도 있고, 머지 않아서는 공원에서 본 귀여운 강아지의 품종을 식별할 수도 있지요. 모바일 월드 콩그레스(Mobile World Congress, MWC)에서 구글은 개발자를 위한 새로운 지원 사항과 더불어 AR코어 1.0을 출시하고, 구글 렌즈의 업데이트를 내놓아 더 많은 사람들이 사용할 수 있도록 할 예정입니다.
구글의 안드로이드용
증강현실 SDK
인 AR코어는 프리뷰 버전을 거쳐 이제 1.0 버전으로 출시됩니다. 개발자들은 이제 구글 플레이 스토어에 AR 앱을 게재할 수 있으며, 앱을 만들기에도 아주 좋은 시기가 될 전망입니다. AR코어는 안드로이드 스마트폰 1억 대에서 작동하며, 이 기기 모두에서 진일보한 AR 기능을 사용할 수 있습니다. 현재 AR코어는 13가지 모델(구글의 픽셀, 픽셀 XL, 픽셀 2, 픽셀 2 XL, 삼성의 갤럭시 S8, S8+, 노트8, S7, S7 엣지, LG전자의 V30, V30+ (안드로이드 O에서만 가능), 아수스의 젠폰 AR, 원플러스의 원플러스 5)에서 작동합니다. 또한 현재 사용가능한 이 모델들 외에도 구글은 삼성, 화웨이, LG전자, 모터롤라, 아수스, 샤오미, HMD/노키아, ZTE, 소니 모바일, 비보 등이 올해 출시하는 기기에서 AR코어가 지원 가능하도록 이 제조사들과 파트너십을 맺을 예정입니다.
AR코어를 더 많은 기기에서 사용할 수 있도록 하는 것은 전체 그림의 일부일 뿐입니다. 구글은 개발자가 보다 빠르고 간편하게 AR 개발 과정을 진행할 수 있도록 추가 개선 및 지원 사항을 제공합니다. AR코어 1.0이 제공하는 개선된 환경 이해를 통해 사용자는 포스터, 가구, 장난감 상자, 책, 캔 등 질감이 있는 표면에 가상의 사물을 배치할 수 있습니다. 안드로이드 스튜디오 베타는 이제
에뮬레이터
에서 AR코어를 지원합니다. 이에 따라 데스크톱 가상 환경에서 바로 앱을 빠르게 테스트할 수 있습니다.
증강현실은 모두가 경험할 수 있어야 합니다. 그래서 구글은 중국을 포함한 모든 곳에서 사람들이 증강현실을 접할 수 있도록 노력하고 있습니다. 구글은 화웨이, 샤오미, 삼성을 시작으로 중국에서 판매되는 파트너 기기에 AR코어를 지원할 예정이므로, 이 제조사들은 자사의 앱스토어를 통해 AR 앱을 유통할 수 있게 됩니다.
구글은 뛰어난 개발자 몇몇과 파트너십을 맺어 그들이 앱에서 AR을 어떻게 사용할지 보여드린 바 있습니다.
스냅챗은 “포털”이라는 곳으로 사용자를 초대하는 몰입 경험을 창조했습니다. 이 경우에는 그 포털이 FC 바르셀로나의 전설적인 캄 노우(Camp Nou) 스타디움이었죠.
소더비국제부동산(Sotheby’s International Realty)를 통해 집안에서 다양한 방 인테리어를 눈앞에 그려보세요.
집 앞 진입로에 있는 포르쉐의 ‘미션 E 컨셉’ 차를 보면서 이 차량이 어떻게 구동되는지 살펴보세요.
오토 AR(Otto AR)을 통해서는 고급 가구 세트에서 가구를 고르고 실제 치수에 맞게 방 안에 가구를 배치해보세요.
영화 고스트버스터즈(Ghostbusters) 시리즈
를 원작으로 한 고스트버스터즈 월드도 곧 출시됩니다.
중국에서는 이지홈 홈스타일러(Easyhome Homestyler)로 10만 점 이상의 가구를 배치해보고, JD.com에서 쇼핑을 하며 집안에 소품을 배치해보거나, 아니면 넷이즈(NetEase), 워게이밍(Wargaming), 게임 인사이트(Game Insight)의 게임을 즐겨보세요.
구글 렌즈를 사용하면 스마트폰 카메라를 통해 세상을 더 잘 이해할 수 있습니다. 또한 프리뷰 단계인 구글 렌즈를 이용할 수 있는 범위가 이제 더 넓어집니다. 사진을 찍을 때 구글 포토에서 렌즈를 사용하여 사진에 찍힌 사물에 대해 더 풍부한 정보를 얻을 수 있게 됩니다. 향후 수 주 내에 안드로이드 및 iOS에서 최신 버전 구글 포토 앱을 영어로 사용하는 모든 사용자가 렌즈를 활용할 수 있을 것입니다. 또한 마찬가지로 수 주 내에 호환되는 플래그십 스마트폰을 사용하는 영어 사용자는 구글 어시스턴트에서 카메라 기반으로 렌즈를 활용할 수 있게 됩니다. 앞으로 더 다양한 기기를 지원할 수 있도록 할 예정입니다.
여전히 프리뷰 단계에 머물러 있지만 저희는 지속적으로 구글 렌즈를 개선해 왔습니다. 출시 이후 텍스트 선택 기능, 탭 한 번으로 사진에서 연락처 또는 일정을 생성할 수 있는 기능을 추가한 바 있으며 앞으로 수 주 내에 다양한 개 품종이나 꽃 등 일반적인 동식물을 인식하는 기능을 더욱 향상시켜 지원할 예정입니다.
카메라가 더욱 스마트해지면 스마트폰으로 더욱 다양한 일을 할 수 있게 됩니다. ARCore 1.0을 활용하면 개발자가 지금부터 당장 근사하고 유용한 AR 환경 구축을 시작할 수 있습니다. 인공지능과 컴퓨터 비전을 활용하는 렌즈는 더 쉽게 눈에 보이는 것들을 검색하고 적절한 조치를 취할 수 있도록 해줍니다. 이러한 기술이 발전할수록 사람의 생활도 더욱 즐거워지고 스마트폰으로 할 수 있는 일도 더 많아질 것입니다.
구 버전(v2, v3) Google Safe Browsing API 지원이 종료됩니다.
2018년 2월 12일 월요일
<블로그 원문은
이곳
에서 확인하실 수 있으며, 블로그 번역 리뷰는 양찬석(Google)님이 참여해 주셨습니다.>
게시자: Alex Wozniak, 세이프 브라우징 팀 소프트웨어 엔지니어
2016년 5월, 구글은
Google Safe Browsing API(v4)
를
발표
했습니다. 전 세계 수천 명의 개발자가 이 API를 채택하여 안전하지 않은 웹 리소스로부터
30억여 개의 기기
를 보호하고 있습니다.
v4 API 공개와 함께, 기존 v2와 v3 API의 업데이트도 중단되었고, 2018년 10월 1일자로 기존 API의 지원이 공식적으로 중단될 예정임을 알려드립니다. 모든 v2 및 v3 고객은 이 날짜 이전에 v4 API로 전환하시도록 당부드립니다.
보다 손쉽게 최신 버전의 API로 전환할 수 있도록, 업데이트된 API(v4)의 오픈소스 구현이
GitHub
에서 제공됩니다. Android 개발자는
SafetyNet Safe Browsing API
를 통해 최신 버전의 Safe Browsing 데이터와 프로토콜을 사용할 수 있습니다. Google 계정, Google Developer Console 프로젝트 및 API 키만 있으면 쉽게
사용
할 수 됩니다.
궁금한 사항이나 피드백이 있으시면
Safe Browsing Google 그룹
에서 다른 개발자들과의 토론에 참가해 보세요. Safe Browsing에 대한 최신 정보는
Google 웹사이트
를 참조하시기 바랍니다.
GCP에서 디지털 자산 관리 솔루션을 구축해 서비스하는 Incentro의 사례를 확인해 보세요.
2018년 2월 12일 월요일
<블로그 원문은
여기
에서 확인하실 수 있으며, 블로그 번역 리뷰는
고재도(Web Technologies GDE)
이 참여해 주셨습니다.>
게시자: Kees van Bemmel, Incentro 상무 이사
[편집자 주: 최근 GCP에서의 디지털 자산 관리 솔루션을 구축한
디지털 서비스 제공 업체이자 Google의 파트너인
Incentro
의 이야기를 들어보세요. Cloud Vision 및 Speech API와 같은 기계 학습 서비스를 결합하여 디지털 자산을 쉽게 찾거나 태그 할 수 있으며 자동화나 서버리스 솔루션을 위한 Cloud Pub/Sub와 Cloud 기능도 추가되었습니다.]
Segona Media 아키텍처
이와 같은 솔루션을 개발하는 기존 방식에는 하드웨어를 구동히키고 애플리케이션 서버, 데이터베이스 저장소 노드 등을 설치하는 작업이 포함됩니다. 솔루션을 개발하고 프로덕션화 하고 나면 운영체제를 업데이트 또는 업그레이드해야 하거나 데이터베이스가 예상치 못한 프로덕션 데이터를 처리하도록 확장되지 않는 등 다양한 익숙한 문제에 봉착할 수 있습니다. 이런 건 우리가 원한 바가 아니므로, 신중히 숙고한 끝에 완벽히 관리되는 솔루션이고 서버리스 아키텍처로 구축하기로 결정했습니다. 이렇게 하면 따로 서버를 유지 관리할 필요가 없고 Google에서 지속적으로 향상되는 API를 활용할 수 있으며 우리가 개발한 솔루션이 우리가 발견할 수 있는 최대 규모의 아카이브를 처리할 정도로 확장 가능할 것이기 때문이었습니다.
우리는 Segona Media가 미디어 및 출판 업계에서 일반적으로 사용되는 도구에 손쉽게 연결 가능하도록 하고도 싶었습니다. Adobe InDesign, Premiere, Photoshop 및 Digital Asset Management 솔루션이 모두 Segona Media에서 자산을 손쉽게 저장하고 검색할 수 있어야 합니다. 우리는
Google Cloud Storage
에서 자산을 저장하기 위해 이미 사용하고 있는 GCP API를 사용하여 이 문제를 해결했습니다. 우리는 GCP에서 작동하고 관리되는 Elasticsearch API를 사용하여 자산을 검색합니다.
Segona Media가 수행하는 각각의 작업은 보통 주로
Cloud Pub/Sub
큐로 트리거되는 별개의
Google Cloud Function
입니다. Pub/Sub 큐를 사용하여 Cloud Function을 트리거하면 쉽고 확장 가능한 방식으로 새 작업을 게시할 수 있습니다.
다음은 Segona Media의 아키텍처를 대략적으로 보여주는 그림입니다.
대략적인 아키텍처
그리고 다음은 Segona Media를 통해 자산이 흐르는 방식입니다.
자산이 Cloud Storage 버킷에 업로드/저장됩니다.
이 이벤트는 고유 ID를 생성하고 파일 객체에서 메타데이터를 추출하여 적절한 버킷으로 이동(수명 주기 관리 활용)한 후 Elasticsearch 색인(GCP에 호스팅된
Elastic Cloud
를 실행함)에서 자산을 생성하는 Cloud Function을 트리거합니다.
이는 자산 유형별로 여러 자산 프로세서를 Google Cloud Pub/Sub에 큐잉하며 Google API를 사용하여 자산에서 관련 있는 콘텐츠를 추출합니다.
미디어 자산 관리
이제, Segona Media가 다양한 유형의 미디어 자산을 처리하는 방식을 살펴봅시다.
이미지
이미지에는 검색할 수 있는 특징이 많은데, 전용 마이크로 서비스 프로세서를 통해 특징을 검색합니다.
우리는 ImageMagick을 사용하여 이미지 객체 자체에서 메타데이터를 추출합니다. 파일 자체에 포함되어 있는 XMP 및 EXIF 메타데이터를 전부 추출합니다. 그러면 이 정보가 Elastic 색인에 추가되어 저작권 정보나 해상도 같은 정보를 기준으로 이미지를 검색할 수 있게 됩니다.
Cloud Vision API
는 이미지의 레이블, 랜드마크, 텍스트 및 이미지 속성을 추출합니다. 따라서 이미지의 객체에 태그를 수동으로 지정해야 할 필요가 없으며 사진에서 해당 콘텐츠를 검색할 수 있습니다.
Segona Media는 고객에게 맞춤형 레이블을 생성하도록 권합니다. 예를 들어, 텔레비전 제조업체는 사진에서 텔레비전 세트의 특정 모델을 파악하고자 할 수 있습니다. 우리는 맞춤형 데이터에 대해 훈련되는 고유한
Tensorflow
모델을 빌드하여
맞춤형 예측
을 구현했으며
Cloud ML Engine
에서 예측을 훈련하고 실행합니다.
모든 자산을 더욱 손쉽게 처리하기 위해 우리는 모든 이미지에 대한
낮은 해상도의 썸네일 이미지
도 생성합니다.
오디오
오디오 처리는 꽤 간단합니다. 우리는 오디오 파일에서 음성 텍스트를 검색할 수 있기를 원하므로
Cloud Speech API
를 사용하여 오디오에서 텍스트를 추출합니다. 그런 다음 기록을 Elasticsearch 색인으로 피드하여 각 단어를 기준으로 오디오 파일을 검색할 수 있게 합니다.
동영상
동영상은 기본적으로 우리가 이미지 및 오디오 파일로 다루는 모든 것의 조합입니다. 사소한 차이가 몇 가지 있지만 이러한 자산에 대해 우리가 어떤 마이크로 서비스를 호출하는지 알아봅시다.
먼저, 우리는 낮은 해상도의 동영상 이미지를 처리할 수 있도록 썸네일 이미지를 생성합니다. 동영상의 50% 지점에서 썸네일 이미지를 생성합니다. Cloud Functions에서
FFmpeg
와 FFprobe를 결합하여 이 작업을 수행하며 동영상 자산과 함께 이 썸네일 이미지를 저장합니다. Cloud Functions 및 FFmpeg를 사용하면 썸네일 이미지를 간단히 생성할 수 있습니다! 다음 코드 스니펫을 확인하시기 바랍니다.
https://bitbucket.org/snippets/keesvanbemmel/keAkqe
우리는 똑같은 FFmpeg 아키텍처를 사용하여 동영상에서 오디오 스트림을 추출합니다. 그러면 이 오디오 스트림이 다음과 같이 다른 오디오 파일처럼 처리됩니다. 오디오 스트림의 음성 텍스트에서 문자 텍스트를 추출하고 이를 Elastic 색인에 추가합니다. 그러면 음성 단어를 검색하여 동영상을 검색할 수도 있게 됩니다. 단일 채널 FLAC 형식으로 동영상에서 오디오 스트림을 추출합니다. 이 방법이 최상의 결과를 제공하기 때문입니다.
또한,
Cloud Video Intelligence
를 사용하여 동영상 콘텐츠에서 관련 정보도 추출합니다. 동영상에 포함된 레이블과 이러한 레이블이 생성된 타임스탬프를 추출합니다. 이런 식으로, 우리는 동영상에서 어떤 지점에 어떤 객체가 있는지를 아는 것이죠. 지정된 레이블에 대한 타임스탬프를 파악하면 사용자에게 현재 찾고 있는 객체가 포함된 동영상뿐만 아니라 그 동영상에서 해당 객체가 포함된 정확한 시점까지도 알 수 있습니다.
지금까지 수평적 또는 수직적 확장 시 OS 업데이트가 필요 없고 인프라 유지 관리 및 지원도 일체 필요 없이 완벽한 서버리스 방식으로 스마트 미디어 태그 지정 작업을 수행하는 방법에 대해 간략히 살펴보았습니다. 이런 식으로 우리는 현재 관심이 있는 사항인 혁신적이며 확장 가능한 솔루션을 최종 고객에게 제공하는 데 집중할 수 있습니다. 궁금한 사항이 있으신가요? 저희에게 알려주세요! 저희는 이런 주제로 대화하는 걸 좋아합니다. ;) 아래에 댓글을 남기시거나 kees.vanbemmel@incentro.com
kees.vanbemmel@incentro.com
으로 이메일을 보내시거나 Twitter
@incentro_
에서 저희를 찾아보시기 바랍니다.
Android Things & Actions on Google Codelab에 여러분을 초대합니다!
2018년 2월 9일 금요일
Android Things와 Google Assistant Library를 사용해 여러분을 위한 Google Assistant를 직접 만들어보세요!
Google Developers 팀에서는 한국의 개발자분들에게
Android Things
,
Actions on Google
그리고
Google Assistant
의 활용법에 대해 소개하고, Android Things, Actions on Google 개발을 체험해보는 Codelab을 진행합니다.
Android Things, Actions on Google 그리고 Google Assistant 에 관심있는 개발자분들의 많은 참여 바라며, 이번 Codelab을 통해 구글의 최신 기술을 직접 경험해 보는 좋은 기회가 되시길 바랍니다!
Codelab 개요
일시: 2월 24일(토) 오후 13:00 ~ 18:00
장소: 역삼역 구글 코리아 21F 세미나룸
사전 등록: 2월 9일(금) 12:00 ~ 2월 18일(일) 자정
결과 안내: 2월 19일(월) 개별 연락 예정
Codelab 내용
Android Things 및 Actions on Google의 주요 기능을 소개합니다.
Android Things Kit 에서 Google Assistant 를 구동해 봅니다.
Google Assistant 에서 동작하는 Actions on Google 앱을 만들어 봅니다.
자신만의 아이디어로 Actions on Google 앱을 발전시켜 봅니다.
Codelab 시간표
필수 준비사항
본인의 노트북을 꼭 지참해 주세요. (OSX, Windows or Linux)
맥북(신형)을 사용하는 경우 USB 사용을 위해 변환 젠더를 준비해 주세요.
3.5mm 오디오 단자와 연결되는 이어폰을 지참해 주세요.
재미있는 챗봇 아이디어를 생각해보세요. 약 2시간 정도의 가벼운 해커톤 시간이 마련되어 있습니다.
필수 Software
Android Studio 3.0 이상 버전
Android 8.0+ SDK 및 SDK Tools
Node.js
Firebase CLI
Python 3
* 좌석이 한정되어 있으니 참석을 원하시는 경우 바로 등록을 완료해 주시기 바랍니다.
* 행사 종료 후 간단한 설문을 제출해 주시는 모든 분들께 Google Developers 팀에서 준비한 기념품을 선물로 드립니다.
* 점심은 제공되지 않으나, 간단한 간식과 음료가 준비될 예정입니다.
* 강남파이낸스센터 주차장을 이용할 수는 있으나, 별도로 주차지원은 되지 않습니다.
▶ Codelab 참여 신청하러 가기
Google Brain 팀이 지난 2017년에 진행한 주요 프로젝트에 대해 다시 확인해 보세요. (파트2)
2018년 2월 6일 화요일
<블로그 원문은
이곳
에서 확인하실 수 있으며, 블로그 번역 리뷰는
신정규(Machine Learning GDE)
님이 참여해 주셨습니다.>
게시자: Jeff Dean, Google 선임 연구원(Google Brain 팀 대표로 작성)
Google Brain 팀
은 전체
Google AI
프로젝트에서 일익을 담당하면서 연구 및 시스템 엔지니어링을 통해 최첨단 인공 지능 기술의 발전에 힘을 쏟고 있습니다.
이 블로그 게시물의 파트 1
에서는 새로운 기계 학습 알고리즘 및 기술의 설계부터 이들에 대한 파악과 커뮤니티와의 데이터, 소프트웨어 및 하드웨어 공유에 이르는 더욱 광범위한 연구 조사와 관련하여 2017년도에 수행한 몇 가지 프로젝트에 대한 정보를 소개해 드렸습니다. 이 글에서는 의료, 로봇 공학, 창의성, 공정성 및 포용성과 같은 특정 분야에서 저희가 수행하는 연구 조사에 대해 살펴보고 저희에 대해 좀 더 자세히 설명하겠습니다.
의료
우리는 의료 분야에 기계 학습 기술을 적용할 수 있는 가능성이 무수히 많다고 생각합니다. 우리는 현재
병리학자의 암 검출 업무 지원
, 의사와 환자에게 도움을 주기 위한
의료 관련 대화 파악
, 그리고 기계 학습을 활용하여 유전체학의 다양한 문제 처리를 비롯한 많은 다양한 종류의 문제와 관련한 일을 하고 있습니다.
딥 러닝을 기반으로 하는 고도로 정확한 변이 호출 시스템
의 오픈소스 릴리스도 이에 포함됩니다.
림프절 생검 -
Google의 알고리즘이 양성 대식세포가 아니라 종양을 정확히 식별함
우리는 2016년 12월에 미국 의학 협회보(
JAMA
)에 발표한
연구 논문
을 기반으로 당뇨병성 망막증(DR) 및 황반부종의 조기 감지와 관련한 프로젝트를 꾸준히 진행해 왔습니다. 2017년도에 우리는 이 프로젝트를 연구 조사 프로젝트에서 실제 임상 적용으로 진행했습니다. 우리는
Verily
(Alphabet 산하 생명 과학 기업)와 파트너십을 체결하여 이 프로세스를 규정 절차대로 진행하는 데 도움을 받고 있으며, 이와 함께 이 기술을
Nikon의 Optos 안과 카메라 제품군
에 통합하고 있습니다. 뿐만 아니라 이 시스템을 인도에 배포하는 작업을 진행 중입니다. 인도는 127,000명의 안과 의사가 부족하며 이에 따라 질병으로 인해 이미 시력이 손상된 후 너무 늦게 진단을 받는 환자의 수가 거의 절반에 이르는 실정입니다. 시험 프로젝트의 일환으로 우리는
인도 아라빈드 안과 병원
의 진단의가 당뇨성 안과 질환을 더욱 정확히 진단하는 데 도움이 되도록 이 시스템을 출시했습니다. 또한, 환자와 의료인을 대상으로 한 에스노그라피 연구부터 안과 의사가 AI 지원 시스템과 어떤 식으로 상호 작용하는지에 대한 조사에 이르기까지 파트너와 협력하여 당뇨성 안과 질환에 영향을 미치는 인적 요인을 파악하고 있습니다.
1차 환자 검진(상단) 및 시스템 출력을 보고 있는 훈련 진단의 Iniya Paramasivam(하단)
우리는 또한
스탠포드
,
UCSF
,
시카고대학교
를 비롯한 업계 최고의 의료 기관 및 의료 센터 연구원들과 협력하여
익명 처리된 환자 의료 기록에서 의학적 결과를 예측하기 위한 기계 학습
의 사용(즉, 환자의 현재 상태가 주어지면 의료 전문가가 더 나은 결정을 내리는 데 도움이 되는 방식으로 수백만 명의 다른 환자가 보인 패턴을 바탕으로 학습함으로써 해당 환자의 향후 상황을 예측할 수 있음)에 대한 유효성을 입증하기 위해 연구를 진행하고 있습니다. 우리는 이 연구에 상당한 기대를 걸고 있으며 2018년도에 이 연구와 관련하여 더 많은 정보를 알려드릴 수 있게 되기를 고대합니다.
로봇 공학
로봇 공학 부문에서 우리의 장기적인 목표는 조건을 세심하게 제어하고 오늘날 로봇의 특징이 되는 몇 가지 작업을 수동으로 프로그래밍해야 하는 대신 로봇이 복잡한 실제 환경에서 작동하고 학습을 통해 새로운 기술과 능력을 빠르게 습득할 수 있게 하는 학습 알고리즘을 설계하는 것입니다. 우리가 진행하는 연구 조사의 한 가지 요지는 집단적으로 학습하기 위해 공유된 경험을 풀링함으로써 물리적 로봇이 자신의 경험과 다른 로봇의 경험을 활용하여 새로운 기술과 능력을 익히는 기법을 개발하는 것입니다. 우리는 또한
로봇 작업에 대한 컴퓨터 기반 시뮬레이션을 물리적 로봇 경험
과 결합하여 새로운 작업을 더욱 빠르게 습득할 수 있는 방법을 탐구하고 있습니다. 시뮬레이터의 물리학적 원리가 실제 환경과 완전히 맞지는 않지만 우리는 로봇 공학 측면에서 시뮬레이션된 경험에 약간의 실제 경험을 더하는 것이 대량의 실제 경험만 바탕으로 하는 것보다 훨씬 더 나은 결과를 가져다 준다는 사실을 확인했습니다.
실제 로봇 경험과 시뮬레이션된 로봇 환경 외에, 우리는 원하는 동작에 대한
사람의 시연을 관찰하여 습득할 수 있는 로봇 학습 알고리즘을 개발
했으며, 이러한 모방 학습 접근 방식은 명시적 프로그래밍이나 활동 목표에 대한 명시적 지정 없이도 로봇에게 새로운 기능을 아주 빠르게 부여할 수 있는 매우 유망한 방식입니다. 예를 들어, 다음은 여러 관점에서 이 작업을 수행하는 인간을 관찰한 후 그 동작을 모방하여 불과 15분에 불과한 실제 경험에서 컵에 따르는 동작을 학습하는 로봇을 보여주는 동영상입니다. 우리는 세 살배기 아이와 함께 이런 과정을 거치는 것처럼, 로봇이 컵에 따르는 동작을 하면서 조금만 옆으로 흘리는 모습을 보고는 무척 흐뭇했습니다!
우리는 또한 11월에 기계 학습과 로봇 공학이 교차하는 부문에서 연구 작업을 펼치고 있는 연구원들이 한데 모이는 제1회
CoRL(Conference on Robot Learning)
을 공동으로 준비하고 주최했습니다.
이 행사의 요약 자료
에 추가 정보가 수록되어 있으며, 다음 해에 취리히에서 열리는 차기 컨퍼런스를 고대하고 있습니다.
기초 과학
기계 학습을 활용하여 과학 부문에서 중요한 문제를 해결하는 데 도움이 될 장기적 잠재성에 대해서도 마음 설렙니다. 지난해, 우리는 양자 화학 분야에서
분자 특성을 예측하고
, 천문학 관련 데이터세트에서
새로운 외계 행성을 찾고
, 지진 발생 후 여진 예측에 신경망을 활용했으며,
자동화된 검증 시스템을 지도하는 데 딥 러닝
을 사용했습니다.
신경망을 통과하는 메시지가 유기 분자의 양자 특성을 예측함
새로운 외계 행성 찾기
: 행성이 별빛을 가릴 때 별의 밝기 관찰
창의성
우리는 사람들이 뭔가 창의성을 발휘하려 할 때 도움이 되는 도구로 기계 학습을 활용하는 방법에 많은 관심을 가지고 있습니다. 올해, 우리는
AI 피아노 듀엣 도구
를 제작했고, YouTube 뮤지션인 Andrew Huang이
새로운 음악을 작곡
하는 데 도움을 주었으며(
Nat & Friends
가 진행한 배경 동영상 참조),
기계에게 그리기를 가르치는 방법
을 소개했습니다.
SketchRNN 모델
이 그린 정원. 대화형 데모는
여기
서 확인 가능
브라우저에서 실행되는 딥 생성 모델을 제어하여 새로운 음악을 만드는 방법
도 보여주었습니다. 이는
NIPS 2017 최고의 데모 상
을 수상했으며, 이로써
Magenta를 활용한 대화형 즉흥 연주
와 관련하여
NIPS 2016 최고의 데모 상
을 수상한 데 이어, Brain 팀의
Magenta 프로젝트
에 참여한 멤버가 두 번째로 이 년 연속 이 상을 받는 쾌거를 거두었습니다. 아래 YouTube 동영상에서는 하나의 멜로디에서 다른 멜로디로 부드럽게 바뀌는
MusicVAE
변형 자동 인코더 모델 데모의 한 부분을 들어보실 수 있습니다.
People + AI Research(PAIR) 이니셔티브
기계 학습의 진보는 사람들이 컴퓨터와 상호 작용할 수 있는 방식에 대한 새로운 가능성을 제시하고 있습니다. 이와 동시에 우리가 개발하는 기술을 통해 사회가 광범위하게 이익을 얻을 수 있도록 하는 것이 중요합니다. 우리는 이러한 기회와 도전 과제를 긴급한 사안으로 인식하고 있으며, Google의 여러 직원들과 협력하여
People + AI Research (PAIR)
이니셔티브를 탄생시켰습니다.
PAIR의 목표는 사람들이 AI 시스템과 가장 효과적으로 상호 작용하는 방식을 연구하고 설계하는 것입니다. 우리는 컴퓨터 공학과 설계, 심지어 예술에 이르기까지 다양한 분야에 걸쳐 활동하는 학계 및 현업 전문가가 한데 모인
공개 심포지엄
에서 이 이니셔티브를 출범했습니다. PAIR는 광범위한 주제를 대상으로 하며, 그중 일부는 연구원이 해석 능력 관련 연구를 통해 ML 시스템을 이해하는 데 도움을 주고
deeplearn.js
를 이용해 개발자 커뮤니티를 확장하는 것으로, 이전에 이미 언급한 바 있습니다. ML 엔지니어링에 대한 인간 중심의 접근 방식을 보여주는 또 다른 예로, 훈련 데이터세트의 시각화 및 이해를 위한 도구인
Facets
의 출시가 있습니다.
Facets
는 훈련 데이터세트에 대한 통찰력 있는 정보를 제공합니다.
기계 학습 분야의 공정성과 포용성
ML이 기술 분야에서 차지하는 역할이 점차 커짐에 따라 포용성과 공정성에 대한 고려도 그 중요성이 커지고 있습니다. Brain 팀과
PAIR
는 이 분야에서 진보를 이루기 위해 열심히 노력해 왔습니다. 우리는 인과 추론을 통해
ML 시스템에서 차별을 방지하는 방법
과
공개 데이터세트에서 지리적 다양성
의 중요성에 대해 발표했으며
다양성과 문화적 차이를 이해하기 위해 공개 데이터세트를 분석한 결과
를 게시했습니다. 우리는 또한 교차 산업 이니셔티브인
Partnership on AI
와 긴밀히 협력하여 공정성과 포용성이 모든 ML 현업 전문가들의 목표로 확실히 떠오르도록 하는 데도 도움을 주었습니다.
문화적 차이
는 왼쪽에 나와 있는 그림 패턴에서 보이는 것처럼 의자와 같이 '일반적인' 물체의 훈련 데이터에서도 드러날 수 있습니다. 오른쪽에 나와 있는 차트는 ImageNet과 같은 표준 오픈소스 데이터세트에서
지리적 위치 편중
을 어떻게 파악했는지를 보여줍니다. 감지되지 않거나 수정되지 않은 이러한 편중은 모델 동작에 상당한 영향을 미칠 수 있습니다.
우리는 이 분야의 몇 가지 문제를 어려운 기술 용어를 사용하지 않고 쉽게 소개하는 동영상을 Google Creative Lab의 동료들과 함께 제작했습니다.
우리의 문화
우리 그룹이 지닌 연구 문화의 한 가지 특징은 연구원과 엔지니어가 가장 중요하게 인식하는 기본적인 연구 조사 문제를 해결할 수 있도록 그들에게 적절한 권한을 부여하는 것입니다. 9월에
우리는 연구 조사 진행에 대한 일반적인 접근 방식에 관한 글을 게시했습니다
. 젊은 연구원에게 교육과 멘토링을 제공하는 것이 바로 연구 프로젝트를 통해 우리가 하고 있는 일입니다. 우리 그룹은 작년 한 해 동안 100명이 넘는 인턴을 받았고, 2017년도에 발표한 연구 논문 중 약 25%에 인턴 공동 저자가 참여했습니다. 2016년에는 기계 학습 연구 조사의 수행 방법을 배우려는 사람들을 멘토링하기 위한 프로그램인 Google Brain Residency를 시작했습니다. 첫해(2016년 6월~2017년 5월)에 27명의 레지던트가 그룹에 참여했으며,
프로그램이 진행되는 도중
과
1년이 지난 직후
프로그램 진행 첫해에 대한 업데이트 정보를 게시하여 레지던트의 연구 성과를 집중적으로 발표했습니다. 이 프로그램의 첫해에 참여한 많은 레지던트가 우리 그룹에 정규직 연구원 및 연구 조사 엔지니어로 잔류했고, 그중 대부분은 버클리, CMU, 스탠포드, NYU, 토론토 등 유수의 기계 학습 관련 대학원 과정에서 박사 과정으로 진학하지 않은 사람들이었습니다. 2017년도 7월에 우리는 35명의 레지던트로 구성된 두 번째 그룹을 맞이했으며, 이들은 2018년도 7월까지 우리와 함께할 예정입니다. 이들은
이미 몇 가지 흥미로운 연구를 마쳤으며
많은 연구 학회에 연구 결과를 발표
했습니다. 우리는 현재 Google의 기타 많은 연구 그룹을 포함하도록 이 프로그램을 확장했으며 그 이름을
Google AI Residency 프로그램
으로 변경했습니다(올해 프로그램의 신청 기한은 지났으며 내년도 프로그램에 대한 자세한 내용은
g.co/airesidency/apply
에서 확인하세요).
2017년도에 우리가 수행한 연구는 이 두 파트로 구성된 블로그 게시물에서 집중적으로 살펴본 내용보다 더 광범위한 분야에 걸쳐 이루어졌습니다. 우리는 주요 연구 학회에서 연구 결과를 발표하고 있으며, 작년 한 해 동안 우리 그룹은
ICLR
,
ICML
및
NIPS
에서 60여 건의 논문을 비롯하여 140건의 논문을 발표했습니다. 이들 연구에 대해 자세히 알아보려면 우리가 발표한
연구 논문
을 꼼꼼히 읽어보시기 바랍니다.
또한, 이
동영상
에서 저희 팀원을 만나보실 수 있으며
r/MachineLearning
에서 두 번째
Ask Me Anything(AMA)
게시물에 대한 답변을 읽어보실 수도 있습니다.
2016의 AMA
도 확인해 보시기 바랍니다.
Google Brain 팀은 그 범위가 점점 더 커지고 있으며 북미와 유럽 지역에 걸쳐 팀원들이 활동하고 있습니다. 우리가 진행 중인 연구가 흥미롭게 들리고 함께 연구해보고 싶으시다면
g.co/brain
의 맨 아래에 있는 링크를 통해 현재 지원 가능한 직무를 확인하고 인턴십, AI Residency 프로그램, 방문 교수나 정규 연구직 또는 엔지니어링 직무에 지원해 보시기 바랍니다. Google Research 블로그 또는 Twitter
@GoogleResearch
에서 2018년도에 진행하는 연구에 대해서도 확인해 보실 수 있습니다. 제 개인 계정인
@JeffDean
을 팔로우하셔도 됩니다.
읽어주셔서 감사합니다!
Google Brain 팀이 지난 2017년에 진행한 주요 프로젝트에 대해 다시 확인해 보세요. (파트1)
2018년 2월 6일 화요일
<블로그 원문은
이곳
에서 확인하실 수 있으며, 블로그 번역 리뷰는
전태균(Machine Learning GDE)
님이 참여해 주셨습니다.>
게시자: Jeff Dean, Google 선임 연구원(Google Brain 팀 대표로 작성)
Google Brain 팀
은 전체
Google AI
프로젝트에서 일익을 담당하면서 연구 및 시스템 엔지니어링을 통해 최첨단 인공 지능 기술의 발전에 힘을 쏟고 있습니다. 지난해 우리는 2016년도에 진행한 작업을 요약해
공유
한 바 있습니다. 그 이후로도 우리는 기계의 지능화라는 장기적 연구 과제를 계속 수행해 왔으며
Google
과
Alphabet
소속의 여러 팀과 협업을 통해 우리의 연구 결과를 활용하여 사람들의 생활을 향상해 왔습니다. 두 편으로 나누어 게시할 내용 중 첫 편인 이번 글에서는 우리가 진행하는 기초적인 연구 조사 프로젝트는 물론,
기계 학습
을 위한 오픈소스 소프트웨어, 데이터세트 그리고 새로운 하드웨어에 대한 업데이트를 비롯하여, 2017년도에 수행한 작업 몇 가지를 집중적으로 살펴보겠습니다.
두 번째 글
에서는 의료, 로봇 공학, 기초 과학 영역 등, 기계 학습이 큰 영향을 미칠 수 있는 특정 분야에서 우리가 수행하는 연구 조사에 대해 살펴보고, 창의성, 공정성 및 포용성과 관련된 연구 조사에 대한 소개도 드리면서 저희에 대해 좀 더 자세히 설명하겠습니다.
핵심 연구 조사
우리 팀이 가장 중점을 두는 점은 우리의 이해를 증진시키고 기계 학습 분야에서 새로운 문제의 해결 능력을 향상하는 연구 조사를 추구하는 것입니다. 우리가 작년에 연구 조사를 진행한 몇 가지 테마를 아래에 소개합니다.
AutoML
기계 학습 자동화의 목적은 기계 학습 전문가가 새로운 문제가 발생할 때마다 개입할 필요 없이 컴퓨터가 새로운 기계 학습 문제를 자동으로 풀 수 있는 기술을 개발하는 것입니다. 이는 진정으로 지능적인 시스템을 구축하는 데 있어 꼭 필요한 기본적인 역량입니다. 우리는 강화 학습 및 진화 알고리즘을 모두 활용하여
신경망 아키텍처를 설계하는 새로운 접근 방식
을 개발했는데, 이 작업을
ImageNet 분류 및 감지에 대한 최첨단 결과물
로 확장하고 새로운
최적화 알고리즘
과
효과적인 활성화 기능
을 자동으로 학습하는 방법도 보여주었습니다. 우리는 Google 고객이 이 기술을 이용할 수 있도록 하기 위해 내부
Cloud AI
팀과 활발히 협업하고 있으며 본 연구 조사를 다방면으로 진행하려고 꾸준히 노력하고 있습니다.
신경 아키텍처 연구 조사를 통해 발견한 컨벌루션 아키텍처
AutoML을 통해 발견한 네트워크를 활용한 물체 감지
음성 이해 및 생성
또 다른 테마는 컴퓨팅 시스템이 사람의 음성을 이해하고 생성하는 능력을 높여주는 새로운 기술 개발에 관한 것입니다. 일례로, 우리는 Google 음성 팀과 협업하여
음성 인식에 대한 종단간 접근 방식을 위한 여러 가지 향상된 기술을 개발
하여 Google의 프로덕션 음성 인식 시스템의 상대적인 단어 오류율을 16% 줄였습니다. 이 작업에서 한 가지 훌륭한 점을 꼽자면, 개별적인 많은 연구 조사를 하나로 합치도록 했다는 점입니다(개별적인 세부 연구 조사는 Arxiv에서 확인 가능:
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
).
음성 인식을 위한
듣기-주의-철자화(Listen-Attend-Spell) 종단간 모델
의 구성 요소
또한, Google
기계 인식
팀 소속의 연구원과 협업하여 TTS(텍스트 음성 변환) 생성을 수행하는 새로운 접근 방식(Tacotron 2)도 개발했습니다. 이 접근 방식은 생성되는 음성의 품질을 상당히 높여 줍니다. 이 모델은 4.53점의 평균 평점(MOS)을 받았습니다. 이는 오디오북에서 들을 수 있는 것처럼 전문적으로 녹음된 음성의 경우 MOS가 4.58점이고 이전의 최고 컴퓨터 생성 음성 시스템의 경우 4.34점인 데 비해 그 우수성이 입증됩니다.
직접 들어보시기 바랍니다
.
Tacotron 2의 모델 아키텍처
새로운 기계 학습 알고리즘 및 접근 방식
우리는 계속해서 참신한 기계 학습 알고리즘과 접근 방식을 개발했습니다. 예컨대, 시각적 작업을 수행할 때 많은 다양한 노이즈 가설을 평가하는 한 방법으로 활성화되는 기능에서 명시적으로 합의를 구하는
캡슐
에 대한 작업, 매우 큰 규모의 모델이 연산 효율성을 유지하도록 지원하는
희소 게이트 MoE(Mixture-of-Experts)
, 한 모델의 가중치를 사용하여 또 다른 모델의 가중치를 생성하는
하이퍼망
, 동일한 모델에서 오디오 입력, 시각적 입력 및 텍스트 입력에 걸쳐 멀티태스킹 학습을 수행하는
새로운 종류의 다중 모드 모델
, 컨벌루션 및 재귀 모델의 대안인
주의 기반 메커니즘
,
이산 변수로 역전파
하는 기술인
기호적
및
비기호적
학습 최적화 방법, 몇 가지 새로운
강화 학습
알고리즘 개선 등이 있습니다.
컴퓨터 시스템을 위한 기계 학습
컴퓨터 시스템에서 기존의 추론법을 대체하기 위해 기계 학습을 사용하는 것 또한 우리의 관심을 많이 끄는 주제입니다. 우리는 인간 전문가보다 더 뛰어난
일련의 연산 기기로 산출 그래프를 매핑하기 위한 의사 결정을 내리는 데 강화 학습
을 사용하는 방법을 보여주었습니다. Google Research의 다른 동료 연구원들과 함께 우리는 신경망이 B 트리, 해시 테이블, 블룸 필터 같은 기존의 데이터 구조보다 더 빠르고 훨씬 더 작을 수 있다는 점을 '
학습된 인덱스 구조 사례(The Case for Learned Index Structures)
'에서 보여주었습니다.
시스템을 위한 기계 학습 그리고 기계 학습을 위한 시스템
을 주제로 진행된 NIPS 워크숍 담화에서 언급한 것처럼, 우리는 코어 컴퓨터 시스템에서 기계 학습을 사용한다는 측면에서 표면적으로만 다루고 있다고 생각합니다.
인덱스 구조 형태의 학습 모델
개인정보 보호 및 보안
기계 학습, 그리고 기계 학습과 보안 및 개인정보 보호와의 상호 작용은 우리가 계속해서 집중하고 있는 연구 분야입니다. 우리는
ICLR 2017
에서 최고의 논문 상을 수상한
논문
에서 차등적으로 개인정보 보호를 보장하는 방식으로 기계 학습 기술이 적용될 수 있음을 입증했습니다. 또한,
실제 환경에서 대립적인 사례를 보여주고
, 대립적인 사례에 대해 모델을 더욱 견고하게 만들기 위해
훈련 프로세스 중에 대규모로 대립적인 사례를 활용하는 방법
을 비롯하여
대립적인 사례
의 속성을 꾸준히 조사했습니다.
기계 학습 시스템 이해
딥 러닝
을 통해 인상적인 결과를 목격했지만 이것이 왜 효과가 있고 어떠한 경우에 효과가 없을지에 대해 파악해야 합니다. ICLR 2017에서
최고의 논문 상을 수상한 또 다른 논문
에서 우리는 현재 기계 학습의 이론적 틀로는 딥 러닝 접근 방식의 인상적인 결과를 설명하지 못한다는 사실을 입증했습니다. 뿐만 아니라,
최적화 방법을 통해 발견한 최소 '평탄화'가 처음에 생각했던 만큼 우수한 성능의 일반화와 밀접하게 연결되지 않는다
는 점을 입증했습니다. 딥 아키텍처에서 훈련이 어떻게 진행되는지 더욱 효과적으로 파악하기 위해, 우리는
무작위
행렬
이 대부분 훈련 접근 방식의 시작점이기 때문에 이러한 무작위 행렬을 분석한 일련의 논문을 발표했습니다. 딥 러닝을 파악하기 위한 또 다른 중요한 방법은 성능을 더욱 효과적으로 측정하는 것입니다. 우리는 생성 모델에 인기 있는 다수의 향상 기술을 적용하더라도 실제로는 성능이 향상되지 않는다는 사실을 발견한
다수의 GAN 접근 방식을 비교한 최근 연구
에서 우수한 실험 설계 및 통계적으로 엄격한 적용이 중요하다는 점을 입증했습니다. 우리는 이번 연구가 다른 연구원들이 실험 연구를 탄탄하게 수행하기 위해 따라야 하는 모범을 제시하기를 바랍니다.
우리는 현재
기계 학습 시스템의 해석 능력 향상 방법
을 개발 중입니다. 3월에는
OpenAI
,
DeepMind
,
YC Research
등과의 협업을 통해 기계 학습에 대한 인간의 이해를 지원하는 것이 주 목적인 새로운 온라인 공개 과학 저널인
Distill의 출범
을 발표했습니다. 이 저널은 기계 학습 개념을 명확히 설명하고 기사 내에서 뛰어난 대화형 시각화 도구를 제공한다는 점에서 명성을 얻었습니다.
Distill
은 출범 첫해에 다양한 기계 학습 기술의 내부 작동 방식을 이해할 수 있도록 하는 것을 목표로
많은
명쾌하고 통찰적인
기사
를 게재했으며 2018년에는 더 많은 기사가 발표되리라 기대합니다.
기능 시각화
t-SNE를 효과적으로 사용하는 방법
기계 학습 연구 조사를 위한 오픈 데이터세트
MNIST
,
CIFAR-10
,
ImageNet
,
SVHN
,
WMT
와 같은 오픈 데이터세트는 기계 학습 분야를 엄청나게 발전시켰습니다. 우리 팀과 Google Research는 작년 한 해 동안 한 팀을 이루어 다음을 비롯하여 대규모로 레이블이 지정된 데이터세트에 더 많이 액세스할 수 있도록 제공함으로써 개방형 기계 학습 연구 조사를 위해 관심이 있는 새로운 데이터세트를 아웃소스로 제공하는 작업을 함께 해왔습니다.
YouTube-8M
: 4,716개의 서로 다른 클래스로 주석이 달린 7백만 개가 넘는 YouTube 동영상
YouTube-Bounding Boxes
: 210,000개의 YouTube 동영상에서 발췌된 5백만 개의 경계 상자
음성 명령 데이터세트
: 수천 명의 사람이 짤막한 명령어를 말한 음성
오디오세트
: 527개의 서로 다른 소리 이벤트로 레이블이 지정된 2백만 개의 10초짜리 YouTube 클립
AVA(원자성 시각적 행동)
: 57,000개의 동영상 클립에서 210,000개의 행동 레이블 지정
공개 이미지
: 6,000개 클래스로 레이블이 지정된 9백만 개의 저작물 사용 허가를 받은 이미지
경계 상자가 있는 공개 이미지
: 600개 클래스에 대한 120만 개의 경계 상자
YouTube-Bounding Boxes 데이터세트
에서 발췌한 예제: 관심 항목 주위에서 경계 상자가
성공적으로 식별된 상태에서
1fps로 샘플링된 동영상 세그먼트
TensorFlow 및 오픈소스 소프트웨어
TensorFlow 사용자의 광범위한 분포를 보여주는 지도(
소스
)
우리 팀은 예전부터 계속해서 기계 학습 연구 조사를 실시하고 Google의 많은 제품에 기계 학습 시스템을 배포하는 데 도움이 되는 여러 도구를 빌드해 왔습니다. 2015년 11월, 우리는 기계 학습 커뮤니티가 기계 학습 소프트웨어 도구에 대한 투자를 활용할 수 있기를 바라는 마음에서 2세대 기계 학습 프레임워크인
TensorFlow
를 오픈소스로 제공했습니다. 2월에 우리는
TensorFlow 1.0
을 출시했으며 11월에는 중요한 기능이 추가된
v1.4
를 출시했습니다. 중요한 기능으로는 대화형 명령 스타일 프로그래밍을 위한
즉시 실행(Eager execution)
, TensorFlow 프로그램을 위한 최적화 컴파일러인
XLA
, 그리고 모바일 및 내장형 기기용 경량 솔루션인
TensorFlow Lite
등이 있습니다.
사전 컴파일된 TensorFlow 바이너리
가 현재까지 180여 개국에서 천만 회 이상 다운로드되었으며
GitHub에 게시되는 소스 코드
의 경우 현재까지 그 공헌자 수가 1,200명을 넘었습니다.
2월에는 첫 번째
TensorFlow Developer Summit
을 주최했으며, 마운틴 뷰에서 진행된 본 행사에 450명이 넘는 사람들이 이 회담에 참석했으며 35개국에서 85회 이상 현지에 모여 함께 회담을 시청하는 행사를 포함하여 전 세계적으로 6,500여 명이 라이브 스트림을 시청했습니다. 모든
회담은 녹화
되었으며, 새로운 기능이나 TensorFlow 사용 기법에 대해 알아보거나 낮은 수준의 TensorFlow 추상화에서 내부적인 요소를 상세히 살펴보는 등의 다양한 주제가 다루어졌습니다. 우리는 2018년 3월 30일 베이 에어리어에서 제2회 TensorFlow 개발자 회담을 개최할 예정입니다.
지금 등록
하여 일정을 비워두고 최신 뉴스를 계속해서 확인해 보시기 바랍니다.
이
가위바위보 과학 실험
은 TensorFlow를 참신하게 활용한 사례입니다. 우리는
오이 분류 자동화
,
항공 이미지에서의 바다소 찾기
,
더욱 안전한 이유식을 만들기 위해 깍둑썰기한 감자 분류
,
피부암 확인
,
뉴질랜드 조류 보호구에서 녹음한 새소리 해석 지원
,
탄자니아에서 지구상에 가장 인기 있는 뿌리 작물 중 질병에 걸린 식물 식별
등을 비롯하여, 2017년에 TensorFlow가 다양한 부문에 활용되고 있다는 점을 확인하고는 정말 기뻤습니다!
11월에 TensorFlow는 오픈소스 프로젝트로서 맞이하는 2주년을 기념했습니다. 저희는 TensorFlow 개발자와 사용자로 구성된 활기 넘치는 커뮤니티가 출현하는 것을 보는 것으로 엄청난 보답을 받았습니다. TensorFlow는 GitHub에 게시된 것 중 최고의 기계 학습 플랫폼이자 GitHub를 통틀어
다섯 손가락 안에 꼽히는 저장소 중 하나
로, TensorFlow와 관련하여
GitHub에 게시된 24,500여 개의 개별 저장소
와 함께 크고 작은
많은 회사와 조직
이 이용하고 있습니다. 연구 결과에 맞춘 오픈소스 TensorFlow 구현과 함께 많은 연구 논문이 현재 발표되어 있습니다. 이를 통해 커뮤니티는 현재 사용되고 있는 정확한 방법을 더욱 쉽게 이해하고 작업을 재현하거나 확장할 수 있습니다.
TensorFlow는 TensorFlow의 대립적인 생성 모델을 위한 경량 라이브러리인
TF-GAN
, 격자 모델 작업을 위한 Estimator 세트인
TensorFlow Lattice
는 물론,
TensorFlow Object Detection API
를 포함하여 다른 Google Research 팀이 진행한 오픈소스 제공 관련 작업을 통해서도 혜택을 누렸습니다. TensorFlow
모델 저장소
는 계속해서 점점 확장하는 모델 세트를 통해 성장하고 있습니다.
TensorFlow 외에도
브라우저에서 바로 딥 러닝 API를 구현하는 오픈소스 하드웨어 가속 구현 방식
(다운로드하거나 설치해야 할 항목이 없음)인
deeplearn.js
를 출시했습니다. deeplearn.js 홈페이지에는 웹 캠을 사용하여 훈련하는 컴퓨터 비전 모델인
Teachable Machine
과 실시간 신경망 기반 피아노 작곡 및 연주 데모인
Performance RNN
을 포함하여 여러 가지 훌륭한 예제가 들어 있습니다. 우리는 TensorFlow 모델을 deeplearn.js 환경에 직접 배포할 수 있도록, 2018년에도 열심히 노력할 것입니다.
TPU
클라우드 TPU
는 최대 180테라플롭의 기계 학습 가속화를 지원합니다.
약 5년 전, 우리는 딥 러닝이 앞으로 필요할 하드웨어의 종류를 상당히 바꿀 것이라는 점을 인식했습니다. 딥 러닝 연산에는 연산 작업이 아주 많지만 두 가지 특수한 속성이 있습니다. 하나는 조밀한 선형 대수학 연산(행렬 곱, 벡터 연산 등)으로 주로 구성된다는 점이고 또 다른 하나는 정밀도 감소에 매우 관대하다는 점입니다. 우리는 이러한 두 가지 속성을 활용하여 신경망 연산을 아주 효율적으로 실행할 수 있는 특수화된 하드웨어를 빌드할 수 있다는 점을 깨달았습니다. 이에 따라 Google 플랫폼 팀에 설계 입력 데이터를 제공했으며 Google 플랫폼 팀은 딥 러닝 모델을 위한 추론(추론은 이미 훈련된 신경망을 활용하는 것이며 훈련과는 완전히 다른 방식임)을 가속화하도록 설계된 단일 칩 ASIC인 1세대 TPU(Tensor Processing Unit)를 설계하고 제작했습니다. 이 1세대 TPU는 3년 동안 Google 데이터 센터에서 배포되었으며, 모든
Google 검색
쿼리,
Google 번역
,
Google 포토
에서의 이미지 파악,
이세돌
및
커제
와
알파고
의 대국, 그리고 기타 많은 연구 조사와 제품 사용에서 활용할 수 있도록 딥 러닝 모델의 구동에 사용되었습니다. 6월에는 이 1세대 TPU가 현대의 GPU 또는 CPU보다 15~30배 더 빠르며 와트당 성능은 약 30~80배 더 높다는 사실을 다룬
논문
을
ISCA 2017
에 발표했습니다.
클라우드 TPU Pod
는 최대 11.5페타플롭의 기계 학습 가속화를 지원합니다.
ImageNet에서의 ResNet-50 훈련 관련 실험
에서는 사용되는 TPU 기기의 수가 늘어남에 따라
거의 완벽하게 속도가 향상된다는 점을 보여줍니다.
추론이 중요하지만 훈련 프로세스를 가속화하는 것이 훨씬 더 중요한 문제인 동시에 훨씬 더 어려운 문제입니다. 연구원이 더욱 빠르게 새로운 아이디어를 시험해 볼 수 있을수록 더 많은 혁신을 이룰 수 있을 것입니다. 5월에 열린 Google I/O에서 발표한
2세대 TPU
는 훈련 및 추론 프로세스를 모두 가속화하기 위해 설계된 완전한 시스템(맞춤형 ASIC 칩, 보드 및 상호 연결 장치)이며, 우리는 단일 기기 구성은 물론 TPU Pod라고 하는 멀티 랙 딥 러닝 슈퍼 컴퓨터 구성을 선보였습니다. 우리는 이 2세대 기기를
Google Cloud Platform
에서
클라우드 TPU
로 제공할 예정임을 발표했습니다. 또한, 진행한 연구 결과를 공유하는 데 열심인 주요 ML 연구원에게 1,000개의 클라우드 TPU로 구성된 클러스터에 무료로 액세스할 수 있게 제공하는 프로그램인
TensorFlow 연구 조사 클라우드(TFRC)
도 발표했습니다. 12월에는 일반적인 워크스테이션에서는 며칠 이상 소요되는 것에 비해 TPU에서는 22분 만에 높은 수준의 정확성을 실현하도록 ResNet-50 ImageNet 모델을 훈련할 수 있음을 보여주는
작업 결과를 발표
했습니다. 우리는 이러한 방식으로 연구 소요 시간을 단축하면 Google은 물론, 클라우드 TPU를 이용하는 모든 조직에서 활동하는 기계 학습 팀의 생산성이 상당히 높아질 거라고 생각합니다. 클라우드 TPU, TPU Pod 또는 TensorFlow 연구 조사 클라우드에 관심이 있으시면
g.co/tpusignup
에 가입하여 더 자세히 알아보시기 바랍니다. 2018년에는 더 많은 엔지니어와 연구원이 TPU를 사용할 수 있으리라고 생각하니 너무 기쁩니다!
읽어주셔서 감사합니다!
(
파트 2
에서는 의료, 로봇 공학, 여러 과학 부문과 같은 분야에서의 기계 학습 응용과 관련하여 우리가 진행 중인 연구 조사에 대해 살펴보고 창의성은 물론, 공정성과 포용성에 대해 진행 중인 작업에 대해서도 소개해 드리겠습니다.)
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2024
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed