-
[비공개] 시애틀에 있는 세 가지 아마존(Amazon) 명소
시애틀(Seattle)하면 생각 나는 것이 많죠! ‘시애틀의 잘 못 이루는 밤, 스페이스니들, 파이크 수산 시장, 스타벅스 1호점’ 등등… 그 중에서도 시애틀을 대표하는 기업 중 하나인 아마존(Amazon)이 있습니다. 재미있는 건 오피스가 거의 다운 타운에 있는데, 최근에 관광객들에게도 인상적인 몇 가지 볼거리가 늘어나기 시작했습니다. Amazon Go 스토어 – 2131 7th Ave, Seattle 컴퓨터 비전, 딥러닝, 센서 융합 같은 기술을 통해 만든 판매원이 없는 매장입니다. 현재 직원들을 대상으로 베타 테스트를 하고 있는데, 들어가 봤는데 실제로 잘 동작하더라구요. 과일팩 하나 사 가지고 나왔습니다. 아직 들어가지는 못하지만, 밖에서 사진 찍는 건 가능합니다. 홈페이지에서 언제 일반인에게 오픈 하는지 알림 메일을 받으실 수도 있습니다. 아마 여러분이 오실 때 ..추천 -
[비공개] MXNet 기반 추천 오픈 소스 딥러닝 프로젝트 모음
Apache MXNet 은 일반 개발자가 손쉽게 딥러닝(Deep Learning) 모델을 구축, 학습 및 실행하는 데 도움을 주는 오픈 소스 라이브러리입니다. 이전 시리즈에서 MXNet API 및 주요 기능, 활용 방법에 대해 소개했습니다. 이 글에서는 MXNet을 다양한 유스 케이스에 적용하는 특징적인 오픈 소스 프로젝트를 소개합니다. (참고로 MXNet Model Zoo에는 다양한 주요 딥러닝 학습 모델 사례가 있으니, 먼저 살펴 보시기 바랍니다!) #1 — 이미지 객체 인식 이 프로젝트는 하나의 이미지에서 여러개의 객체를 탐지하는 것으로 mxnet-ssd (논문 링크)라는 프로젝트를 개량한 것으로 MXNet의 특징이라고 할 수 있는, 멀티 GPU에서 성능을 향상 시킨 것입니다. precedenceguo/mx-rcnn mx-rcnn – Faster R-CNN, an MXNet implementation with distributed implementation and data parallelization 이 프로젝트는 아래 연구 결과..추천 -
[비공개] Apache MXNet에 대한 모든 것!
아마존의 CTO인 Werner Vogels 박사는 MXNet – Deep Learning Framework of Choice at AWS라는 글에서 확장 능력, 개발 속도, 이동성 등의 다양한 요인을 비추어 볼 때, MXNet이 가장 좋은 인공 지능 애플리케이션 개발을 위한 딥러닝 프레임웍이라고 판단하고, 이를 기반한 딥러닝 서비스 개발 지원 및 오픈 소스 지원에 대한 의지를 피력한 바 있습니다. 이 글은 다양한 오픈 소스 딥러닝 프레임웍 중에 아마존이 선택한 Apache MXNet에 관한 다양한 한국어 자료들을 모아서 제공하는 것을 목적으로 합니다. Apache MxNet은 개발자들에게 친숙한 심볼릭(Symbolic)과 명령형(imperative) 프로그래밍의 혼합 방식을 지원할 뿐만 아니라 CPU와 GPU 연산을 지원하고, 특히 GPU 클러스터에 최적화된 엔진을 사용해서 성능이 뛰어납니다. 또한, 실무적으로 많이 사용하는 Python, C++, R, Scala, Julia, Matlab,..추천 -
[비공개] MXNet 시작하기 (6) – Raspberry Pi에서 실시간 객체..
5편에서는 이미지의 객체 검출을 위해 유명한 세 가지 학습 모델을 사용하여, 간단한 MXNet 소스 코드를 사용하여 몇 가지 이미지를 테스트해보았습니다. 우리가 배운 것 중 하나는 각 모델이 서로 다른 메모리 요구 사항이 있다는 것입니다. 가장 메모리를 적게 먹는 것은 Inception v3으로 “43MB”만 사용입니다. 정말 이게 잘 될까? 예를 들어, “라스베리파이(Raspberry Pi)” 같은 작은 디바이스에서 실행할 수 있을까라는 질문을 해볼 수 있을 텐데요. 이번 글에서 함께 알아 보시죠! 공식 가이드가 있지만, 몇 가지 단계가 빠진 것을 발견해서 아래 내용을 따라가면 최신 Raspbian을 실행하는 Raspberry Pi 3에서 제대로 작동합니다. $ uname -a Linux raspberrypi 4.4.50-v7+ #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux 맨 먼저 필요한 라이브러리를 추가합니다. $ sudo apt-get update $ s..추천 -
[비공개] MXNet 시작하기 (5) – VGG16 및 ResNet-152 학습..
4편에서는 사전 학습된 Inception v3 모델을 사용하여, 이미지 내 분류를 검색하는 것이 얼마나 쉬운지 확인했습니다. 이 글에서는 두 개의 유명한 합성곱 신경망(Convolutional neural network, CNN)인 VGG19와 ResNet-152을 사용해 보고, Inception v3 모델과 비교해 보겠습니다. CNN이라는 어려운 단어가 나왔지만, 과정은 크게 다르지 않습니다. 레이어를 더 많이 늘린 것입니다. Architecture of a CNN (Source: Nvidia) VGG16 2014 년에 발표된 VGG16은 16 개의 레이어로 구성된 모델입니다 (연구 논문). 객체 분류에서 7.4 %의 오류율을 달성하여 2014 년 ImageNet Challenge에서 우승했습니다. ResNet-152 2015 년에 발표된 ResNet-152는 152 개의 레이어 (연구 논문)로 구성된 모델입니다. 이미지 내 객체 탐지에 대한 오류율 3.57 %를 달성함으로써 2015 ImageNet Challenge에서 우승했습니다. 이건 진짜 놀라운 결과..추천 -
[비공개] MXNet 시작하기 (4) – 이미지 분류를 위한 학습 모델 사용하기..
이전 글에서는 처음으로 신경망을 구축하고 학습하는 방법을 배웠습니다. 이제 좀 더 실질적인 문제 해결을 할 수 있는 사례를 살펴 보겠습니다. 우선 최근에 사용되는 딥러닝 학습 모델은 매우 복잡하다는 사실을 알고 계셔야 합니다. 수 백개의 레이어가 있으며 막대한 양의 데이터를 학습하는 데 며칠이 걸릴수 있으며, 이러한 모델을 만들고 조정하는 데는 많은 전문 지식이 필요합니다. 매우 다행인 것인 이러한 모델을 사용하는 것은 생각 보다 간단하며 몇 줄의 소스 코드만 가지고 할 수 있습니다. 이 글에서는 Inception v3이라는 이미지 분류를 위해 미리 학습된 모델을 살펴 볼 것입니다. 2015년 12월에 나온 Inception v3은 GoogleNet 모델(2014 ImageNet Challenge에서 우승 한 모델)을 발전 시킨 것입니다. 연구 논문의 세부 사항에 대해서는 언급하지 않겠지만, ..추천 -
[비공개] 친정인 ‘카카오뱅크’ 오픈 소식에 계좌 개설!
카카오 뱅크 오픈 소식에 오전에 사람들이 좀 몰려서 일시 장애가 있었던 듯 싶으나 은행계 시스템이란게 초기 계좌 개설 같은 DB 쓰기 용량이 한계가 있으니, 그건 어느 정도 이해하고… 일반인들의 경우도 약간의 노이즈 마케팅이 될 수 있으니 오케이! (기사에 따르면, 6시간만에 6만 계좌 개설됐음. 케이뱅크의 경우, 15시간 동안 1만 5천계좌에 비하면 엄청난 관심이네요.) 1. 계좌 개설 방법은 비교적 간단(?)하지만, 중간에 타행 계좌에 1원 입금해 주고, 계좌 이체한 사람 이름 확인하는 과정에서 멘붕. 갑자기 타행 계좌 조회해야 하는 불상사가 생겨서 당황했는데, 필수 조건이기 때문에 타행 조회 꼭 준비하셔야 합니다. 2. Bad gateway 오류가 계속 나는데도 불구하고 무시 전략으로 롤백을 믿고 강행한 덕에 계좌 개설, 체크 카드 신청 및 카톡 무료 이모..추천 -
[비공개] MXNet 시작하기 (3) – Module API
2편에서는 Symbols를 사용하여 NDArrays에 저장된 데이터를 처리하는 연산 그래프를 정의하는 방법을 설명했습니다. 이 글에서는 Symbol 및 NDArrays에서 배운 것을 사용하여 일부 데이터를 준비하고 신경망을 구성합니다. 그런 다음 Module API를 사용하여 신경망 기반 데이터를 학습하고 결과를 예측해보겠습니다. 데이터셋 정의 (가상) 데이터 세트는 1000개의 데이터 샘플로 구성합니다. 각 샘플에는 100개의 기능(Feature)이 있습니다. 각 기능은 0에서 1 사이의 float 값으로 표현됩니다. 샘플은 10개의 카테고리로 나뉩니다. 네트워크의 목적은 주어진 샘플에 대한 올바른 카테고리를 예측하는 것입니다. 학습(Training)을 위해 800개의 샘플을 사용하고 검증(Validation)을 위해 200개의 샘플을 사용할 것입니다. 학습 및 검증을 위해 배치(Batch) 크기 10을 사용합니다. 아래는 ..추천 -
[비공개] MXNet 시작하기 (2) – Symbol API
1편에서는 몇 가지 MXNet 기본 사항을 살펴보고, NDArray API에 대해 알아보았습니다 (요약하면, NDArrays는 데이터, 매개 변수 등을 저장하는 장소입니다.) 이제 MXNet이 계산 단계를 정의하는 방법을 살펴 보겠습니다. 계산 단계? 코드를 말하는 건가요? 좋은 질문이네요. 우리 모두가 “프로그램 = 데이터 구조 + 코드”라고 배웠으니까요. NDArrays가 데이터 구조라면 이제 코드를 추가하면 됩니다. 일반적으로 모든 계산 단계를 명시적으로 정의하고 데이터에서 순차적으로 실행해야 합니다. 이를 “명령형 프로그래밍(Imperatitive Programming)“이라고 하며 Fortran, Pascal, C, C ++ 등이 작동하는 방식입니다. 그러나, 신경망(Neural Nework)은 본질적으로 병렬 컴퓨팅을 지향합니다. 주어진 레이어 내부에서 모든 산출물을 동시에 계산할 수 있어야 합니다. 독립적인 레이어도 ..추천 -
[비공개] 네이버 DISCO앱에 바라는 7가지
순전히 20년지기 친구의 소개로 네이버가 만든 자칭(?) 인공 지능 주제별 뉴스 큐레이션 서비스인 DISCO를 사용해 보기 시작했습니다. (2달 전에 나온 – 취향저격 콘텐츠 추천 앱 DISCO 출시!! 상태지만) 아직 서비스 초기라서 그런지 내부 직원들을 비롯해서 몇몇 콘텐츠 큐레이터들이 초기 테스트를 해 보면서 개선을 하고 있는 것 같습니다. 계속 쓸지 여부는 차치하고라도 신규 서비스 써 보는 것은 늘 즐거운 경험이라 간단하게 리뷰 남겨 봅니다. 앱 설치 후 로그인은 현재로서 ‘네이버 아이디’로만 가능합니다. 우선 (그리 어려운 일도 아닌데) 페이스북, 트위터, 카카오 등의 소셜 로그인이 가능해야 합니다. 심지어 사내 앱인 라인 로그인도 안된다는 건 약간 이상한 일입니다. 네이버 사용자가 많다는 건 알겠지만, 뉴스 큐레이션 서비스에 절대적인..추천