Category: Artificial Intelligence*


Gluon 소개 – AWS와 마이크로소프트가 만드는 딥러닝 라이브러리

Gluon Logo

오늘 AWSMicrosoft는 새로운 오픈 소스 딥러닝 학습 인터페이스인 Gluon을 발표했습니다. Gluon은 개발자가 높은 성능을 유지히면서도, 쉽고 빠르게 기계 학습 모델을 만들  수 있습니다.

Gluon은 사전 구축한 최적화 된 신경망 구성 요소 모음을 사용하여, 기계 학습 모델을 정의하기 위한 명확하고 간결한 API를 제공합니다. 기계 학습 모델을 정의하고 조정할 수 있기 때문에 처음 사용하는 개발자는 본 인터페이스가 기존 코드에 비해 더욱 익숙할 것입니다. 숙련된 데이터 과학자 및 연구자들이 신속하게 프로토 타입을 제작하고 완전히 새로운 모델 아키텍처를 위해 동적 신경망 그래프를 활용하는 등  다양한 가치를 발휘할 것입니다.

Gluon은 Apache MXNet과 함께 곧 출시 될 Microsoft Cognitive Toolkit를 비롯 더 많은 프레임 워크에서 사용할 수 있습니다.

신경망 vs. 개발자
신경망을 이용한 기계 학습 ( ‘딥러닝’포함)에는 세 가지 주요 구성 요소가 있습니다. 즉, 데이터 학습, 신경망 모델 및 신경망을 학습시키는 알고리듬입니다. 여러분은  직선 그래프와 비슷한 방식으로 신경망을 생각할 수 있습니다. 일련의 연결된 레이어 및 가중치를 통해 출력 (예측)에 연결되는 입력 (데이터를 나타냄)을 가집니다. 학습 중에 알고리즘은 네트워크 출력의 오류를 기반으로 네트워크의 가중치를 조정합니다. 이것이 신경망을 학습하는 과정입니다. 이는 며칠이 걸릴 수있는 메모리 및 컴퓨팅이 필요한 과정입니다.

Caffe2, Cognitive Toolkit, TensorFlow 및 Apache MXNet과 같은 딥러닝 학습 프레임 워크는 부분적으로 ‘어떻게 이 프로세스를 가속화 할 수 있습니까?’라는 질문에 대한 대답입니다. 데이터베이스의 쿼리 최적화 프로그램처럼 네트워크와 알고리즘에 대해 알고있는 학습 엔진이 많을수록 학습 과정에서 더 많은 최적화가 가능합니다 (예를 들어, 무엇을 기반으로 그래프에서 다시 계산해야 하는지를 추측 할 수 있습니다. 영향을받지 않는 가중치는 무시할 수 있습니다.) 이들 프레임 워크는 병렬 처리를 제공하여 컴퓨팅 프로세스를 분산시키고, 전체 학습 시간을 단축시킵니다.

그러나 이러한 최적화를 달성하기 위해 대부분 프레임 워크에서는 개발자가 추가 작업을해야합니다. 즉, 네트워크 그래프의 정식 정의를 제공하고 그래프를 ‘정지’한 다음 가중치를 조정하는 과정입니다.

수백만 개가 연결된 크고 복잡 할 수있는 네트워크 정의는 일반적으로 수작업으로 작성해야합니다. 딥러닝 네트워크는 다루기 힘들뿐만 아니라 디버깅하기가 어려울 수 있으며 프로젝트간에 코드를 재사용하기도 어렵습니다.

이러한 복잡성은 (예제 학습을 마치고 실제 데이터를 학습해보려는) 초보자에게는 어려울 수 있으며, 경험 많은 연구자에게도 시간이 많이 걸리는 작업입니다. AWS에서는 신경망을 정의하고 학습하는 새롭고 유연하며 접근하기 쉬운 방법에 대해서 MXNet 내보에서 아이디어를 실험해 왔습니다. Microsoft 또한 오픈 소스인 MXNet 프로젝트의 공헌자로서 이러한 아이디어 중 일부에 관심이 있었습니다. 이를 토대로 이야기를 나누었을 때 우리는 비슷한 비전을 가지고 있음을 발견했습니다. 따라서, 새로운 기술을 사용하여 기계 학습의 복잡성을 줄이고 더 많은 개발자가 참여할 수 있는 프로젝트를 함께 시작하게 되었습니다.

Gluon 소개 : 동적 그래프, 신속한 반복, 확장 가능한 학습
Gluon에서 중요한 네 가지 핵심 요소를 소개합니다.

  1. 친숙한 API: 간단하고 명확하고 간결한 코드를 사용하여 Gluon 신경망을 정의 할 수 있습니다. 이는 개발자가 배우기 쉽고 네트워크 및 관련 가중치 점수 지정 기능을 기존 방식 보다 훨씬 이해하기 쉽도록 만들었습니다.
  2. 동적 네트워크: Gluon의 네트워크 정의는 동적입니다. 다른 모든 데이터 구조와 마찬가지로 유연합니다. 이는 학습 과정에서 연산 과정을 최적화 할 수 있도록 합니다.  동적 네트워크는 관리하기 쉽고, Gluon을 사용하면 개발자는 빠른  ‘심볼릭 표현’과 네트워크 및 알고리즘에 대한보다 친숙하고 역동적 인 ‘명령형 정의’ 사이를 쉽게 연동할 수 있습니다.
  3. 네트워크 정의 알고리듬: 모델과 학습 알고리즘이 훨씬 가까워졌습니다. 알고리즘 정의 및 학습 중에 네트워크를 동적으로 조정할 수 있습니다. 이는 개발자가 표준 프로그래밍 루프와 조건을 사용하여, 신경망을 만들 수 있음을 의미 할뿐만 아니라 이전에는 불가능했던 정교한 알고리즘과 모델을 정의 할 수 있습니다. 이전 보다 생성, 변경 및 디버그하는 것이 더 편리해졌습니다.
  4.  학습을 위한 고성능 운영 : 학습 속도를 높이면서도, 친숙하고 간결한 API 및 동적 그래프를 사용할 수 있습니다. 이것은 기계 학습의 커다란 발전입니다. 일부 프레임 워크에서 친숙한 API 또는 동적 그래프를 딥러닝에 적용하지만, 학습 과정에서 시간과 비용이 발생합니다. Gluon은 개발자가 특정 세부 사항을 알거나 컴파일러 최적화를 수동으로 수용 할 필요없이 간결한 API를 정식 정의와 효율적으로 혼합 할 수 있습니다.

AWS의 팀과 Microsoft의 공동 협력팀은 Gluon을 통해 이러한 개선 사항을 개발자에게 제공하게 된 것을 기쁘게 생각하며, 이미 많은 딥러닝 개발자와 연구자들로부터 상당히 호응을 얻고 있습니다.

Gluon 시작하기
Gluon은 Apache MXNet에서 현재 사용할 수 있으며 Microsoft Cognitive Toolkit은 향후 출시 될 예정입니다. 프런트 엔드 인터페이스와 저수준 API 사양을 게시하여 시간이 많이 걸리는 다른 프레임 워크에 포함될 수 있도록합니다.

오늘 글 루언을 시작할 수 있습니다. 단 한 번의 클릭으로 AWS Deep Learning AMI를 시작하여, 이미 제공 중인 50 가지 주피터 노트북 예제 중 하나를 실행해 보세요. 기계 학습 프레임 워크에 참여한 분이라면, GitHub의 소스 코드 공헌에도 참여해주시면 감사하겠습니다.

-Dr. Matt Wood

이 글은 Introducing Gluon: a new library for machine learning from AWS and Microsoft 의 한국어 번역입니다.

AWS Deep Learning AMI로 딥 러닝 시작하기

딥 러닝 초보, 고급 딥 러닝 프로젝트를 클라우드에서 해보고 싶은 전문가. 누구라도 AWS에서 쉽게 딥 러닝을 시작할 수 있습니다.

AWS Deep Learning AMI는 클라우드에서 어떤 규모의 딥 러닝 애플리케이션이라도 실행할 수 있게 해주며, 우분투와 Amazon 리눅스의 두 가지 버전이 있습니다. AWS Deep Learning AMI (Amazon Machine Images)에는 Apache MXNet, TensorFlow, 마이크로소프트 Cognitive Toolkit (CNTK), Caffe, Caffe2, Theano, Torch, Keras 등의 오픈 소스 딥 러닝 프레임워크들이 미리 설치되어 제공됩니다.

AWS Deep Learning AMI를 사용해, 커스텀 AI 모델을 학습시키거나 새로운 알고리즘을 실험하고 새로운 딥 러닝 기술을 배울 수 있습니다. AWS Deep Learning AMI를 사용하는 데 따른 추가 비용은 없습니다. 애플리케이션을 저장하고 실행하는 데 필요한 AWS 리소스에 대해서만 비용을 지불하면 됩니다.

또한, AWS Deep Learning AMI는 미리 구성된 인텔의 Math Kernel Library (MKL)와 CUDA, cuDNN 드라이버를 통해 GPU 가속 기능을 제공합니다. 많이 사용되는 Python 패키지들과 Anaconda 플랫폼도 함께 설치되어 있습니다.

AWS Deep Learning AMI는 단순하고 쓰기 쉽고 비용을 절약할 수 있을 뿐 아니라, 서버 인스턴스를 바로 시작할 수 있습니다. 단계별로 설명한 이 가이드를 따라서 딥 러닝을 지금 바로 시작해 보세요.

단계 1: AMI 시작하기

AWS 관리 콘솔로 이동해 로그인하거나 새 계정을 만드십시오.

검색 창에 EC2를 입력하거나 “All services” 아래에서 EC2를 찾아 EC2 콘솔을 엽니다.

Launch Instance 버튼을 선택하고 AWS Marketplace에서 AWS Deep Learning AMI를 검색하십시오. 여기서는 Ubuntu 버전을 사용하겠지만 Amazon Linux를 선택할 수도 있습니다.

실행할 인스턴스 유형을 선택하고 Next를 선택합니다.

주의: P2 인스턴스 한도가 0 인 경우 AWS Support Center를 통해 인스턴스 한도 증가를 요청해야 합니다.

Configure Security Group이 나올 때까지 각 페이지에서 Next를 선택하십시오. Source 열에서 My IP를 선택하여 접속할 IP 주소의 액세스만을 허용합니다.

인스턴스를 검토하고 Launch를 선택하세요.

기존의 프라이빗 키 파일을 선택하거나 새로 만든 후에 인스턴스를 실행하십시오.

P2 인스턴스 한도 때문에 인스턴스가 실행되지 않으면 한도 증가를 요청하시기 바랍니다.

 

단계 2: 인스턴스  접근 및 Jupyter Notebook 시작하기

View Instance를 클릭하고 인스턴스의 퍼블릭 DNS 주소를 확인하세요.

터미널을 열고 .pem 확장자의 프라이빗 키가 있는 디렉토리로 변경한 다음, 인스턴스에 SSH로 연결하세요.

cd /Users/your_username/Downloads/	
ssh -L localhost:8888:localhost:8888 -i <your .pem file name> ubuntu@<Your instance DNS>


다음 명령어로 Jupyter를 시작합니다.

$ jupyter notebook

브라우저 창을 열고 앞 단계에서 표시된 URL로 이동하십시오. src 폴더의 다른 파일들도 살펴보시기 바랍니다.

New를 선택하고 새 notebook을 시작하십시오. MXNet을 import하고 바로 코딩을 시작하거나 자습서를 따라해 볼 수 있습니다.

AWS Deep Learning AMI를 시작했다면 컴퓨터 비전, 자연 언어 처리 및 추천 시스템과 같은 자습서를 쉽게 실행해볼 수 있습니다. Jupyter 노트북에 들어 있는 많은 MXNet자습서들을 쉽게 실행하거나 고쳐볼 수도 있습니다. 처음에 이런 것부터 시작해보면 어떨까요? MXNet 사이트에서 아이디어를 더 찾아보세요.

참고: 한국어 가이드는 Apache MXNet의 모든것 이나 정보 공유는 MXNet 한국 사용자 모임에 가입하시기 바랍니다.

이 글은 Amazon AI 블로그의 Get Started with Deep Learning Using the AWS Deep Learning AMI의 한국어 번역으로 AWS코리아 강지양 솔루션즈 아키텍트가 번역해 주셨습니다.

Amazon Lex의 신규 음성 입력 기능을 통한 Amazon Connect 연동하기

Amazon Connect는 셀프 서비스 클라우드 기반 콜센터 서비스로 저렴한 비용으로 더 나은 고객 서비스를 쉽게 제공있고, Amazon Lex는 음성 및 텍스트를 사용하여 대화식 인터페이스를 구축하는 서비스입니다.

이 두 가지 서비스를 통합하여, Lex 자동 음성 인식(ASR) 및 자연어 처리 및 인식(NLU) 기능을 활용하여, 고객에게 훌륭한 서비스 경험을 제공 할 수 있습니다. 두 가지 통합을 위해 Lex팀은 8kHz 음성 입력을 받을 수 있는 기능을 추가했습니다. 이를 통해 챗봇이 고객 요청의 대부분을 처리할 수 있게 되고, 고객들이 기다리는 시간도 줄일 수 있습니다.

이 글에서는 사용자가 고객 센터에 전화를 하고, Connect를 통해 들어온 음성 입력에 대해 Lex가 처리한 후, 이를 AWS Lambda 함수를 구성하는 코드를 살펴 보겠습니다. 샘플 예제는 ‘개발자들이 좋아하는 코드 편집기’에 대한 질문으로 미국 전화 번호 614-569-4019로 전화하여, 원하는 코드 편집기를 선택할 수 있습니다. (미국 번호라서 전화 비용이 들어갈 수도 있음을 양해 바랍니다.) 투표 결과는 http://best-editor-ever.s3-website-us-east-1.amazonaws.com/ 에서 볼 수 있습니다.


이 샘플 예제에 대해 간단하게 설명해 보겠습니다.

Amazon Lex
우선 Amazon Lex에서 VoteEditor라는 봇을 만들고, 여기에 원하는 코드 편집기를 투표할 수 있는 Slot을 만듭니다.

AWS Lambda

Lambda 함수도 매우 간단합니다. 먼저 투표를 저장하기 위해 Amazon DynamoDB 테이블을 생성합니다. 그런 다음 Lex(build_response)에 응답하는 헬퍼 메소드를 만들 것입니다. 이를 통해 Lex 기반 응답 형식으로 메시지를 감싸게 됩니다.


def lambda_handler(event, context):
    if 'ConnectToAgent' == event['currentIntent']['name']:
        return build_response("Ok, connecting you to an agent.")
    elif 'VoteEditor' == event['currentIntent']['name']:
        editor = event['currentIntent']['slots']['editor']
        resp = ddb.update_item(
            Key={"name": editor.lower()},
            UpdateExpression="SET votes = :incr + if_not_exists(votes, :default)",
            ExpressionAttributeValues={":incr": 1, ":default": 0},
            ReturnValues="ALL_NEW"
        )
        msg = "Awesome, now {} has {} votes!".format(
            resp['Attributes']['name'],
            resp['Attributes']['votes'])
        return build_response(msg)

코드를 잠깐 살펴 보면, 선택한 편집기에 대해 표가 없으면 1로 만들고, 편집기가 있으면 +1을 하는 코드로서   계속 진행하기 전에 Lex 콘솔을 통해 작동하는지 테스트 할 수 있습니다.

Amazon Connect
Amazon Contact Flow에서 Lex 봇을 사용하려면 먼저 Amazon Connect 인스턴스에 접근 권한이 있어야합니다.  콘솔에서 “Contact Flows”로 이동하여,  Lex 섹션에서 봇을 추가 할 수 있습니다.

이제 Amazon Connect 인스턴스가 Lex 봇을 호출 할 수 있게 되었으므로 Lex 봇을 포함하는 새로운 Contact Flow를 만들 수 있습니다. “Interact”카테고리에서 “Get customer input”위젯을 통해 봇을 추가합니다.

위젯을 사용하면 전화기의 숫자 키 또는 “Amazon Lex”탭에서 voiceinput을 가져 와서 Lex 서비스로 전달하기위한 “DTMF”탭을 사용할 수 있습니다. Lex 탭을 사용하여 몇 가지 구성을 사용합니다.

많은 옵션이 있지만, 사용하고자하는 봇 (봇의 버전 포함),  사용하려는 멘토,  소개글 등을 추가합니다. 최종 고객 요청 처리 흐름은 아래와 같습니다.

실생활에서 이러한 서비스 조합은 많은 부분을 구현할 수 있습니다. 실제 고객 상담원과 대화를 하기 전에, 사용자의 정보를 수집하고 대화에 필요한 정보를 수집할 수도 있습니다. Amazon Lex의 8KHz 음성 입력 기능을 통해서 좀 더 유연한 고객의 정보를 입력 받을 수 있다는 점은 매우 중요합니다.

마지막으로, Amazon Connect는 외부 개발자로 사용할 수 있는 것과 동일한 PostContent 엔드 포인트를 사용하므로 Lex에서 8kHz 기능을 활용하려면 Amazon Connect 사용자 일 필요는 없습니다.

좀 더 세부 사항은 기술 문서API 참조 문서를 살펴 보시기 바랍니다.

Randall

이 글은 New – Amazon Connect and Amazon Lex Integration 의 한국어 번역 편집본입니다.

Amazon Rekognition – 유명인사 인식 기능 출시

지난 AWS re:Invent 행사에서 Amazon Rekognition정식 출시한 후, 이미지 관리 기능을 추가하였습니다. 오늘 유명인사 인식 기능을 출시하였습니다!

유명인사 인식 기능은 정치, 스포츠, 엔터테인먼트, 비즈니스 및 미디어 분야에서 유명하거나 주목할 만한 저명 인사가 있는 수십 만 명의 사람들을 확인하도록 훈련된 결과로서 자주 업데이트됩니다.

본 기능을 사용하려면 새로운 RecognizeCelebrities 함수를 호출하면 됩니다. 기존 DetectFaces 함수에서 얼굴 내 상자 및 랜드 마크 기능 외에도 유명 인사에 대한 정보를 반환합니다.

"Id": "3Ir0du6", 
"MatchConfidence": 97, 
"Name": "Jeff Bezos", 
"Urls": [ "www.imdb.com/name/nm1757263" ]

Urls은 유명인에 대한 추가 정보를 제공합니다. API는 현재 IMDB 콘텐츠에 대한 링크를 반환합니다. 앞으로 다른 출처를 추가 할 수 있습니다.  AWS 관리 콘솔에서 Celebrity Recognition Demo를 사용하여이 기능을 시험해 볼 수 있습니다.

이미지 아카이브가 있는 경우, 유명 인사 별로 색인을 생성 할 수 있습니다. 유명 인사 인식과 개체 검색을 결합하여 모든 종류의 검색 도구를 구축 할 수도 있습니다. 이미지가 이미 S3에 저장되어있는 경우, 해당 이미지를 내부에서 처리 할 수 ​​있습니다.

여러분도 새로운 기능에 대한 모든 흥미로운 사용 방법에 대한 아이디어를 생각해 보세요!

Jeff;

Amazon Lex – 정식 출시 및 AWS Chatbot Challege 안내

지난 AWS re:Invent에서 대화식 음성 및 텍스트 인터페이스를 구축하는 Amazon Lex 서비스를 출시했습니다. 당시 Amazon Lex를 미리보기 방식으로 시작했으며 특정 개발자에게 제공했습니다. Amazon Alexa를 구동하는 것과 동일한 딥러닝(Deep Learning) 학습 기술로 구동되는 Amazon Lex를 사용하면 매력적이고 생동감 있는 상호 작용을 지원하는 웹 및 모바일 애플리케이션을 개발할 수 있습니다.

오늘 부터 Amazon Lex 서비스를 정식 출시하면서 아래와 같은 기능도 신규로 추가하여 공개합니다.

Slack 연동– Slack 채널에 전송 된 메시지 및 이벤트에 응답하는 Amazon Lex 봇을 만들 수 있습니다. 봇의 Channel 탭을 클릭하고 슬랙을 선택한 다음 양식을 작성하여 슬랙에 사용할 콜백 URL을 가져옵니다.

더 자세한 사항은 Integrating an Amazon Lex Bot with Slack 문서를 참고하시기 바랍니다.

Twilio 연동 – 이제 Twilio SMS 번호로 전송 된 SMS 메시지에 응답하는 Amazon Lex 봇을 만들 수 있습니다. Channels을 클릭하고 Twilio를 선택한 다음 양식을 작성하십시오.

더 자세한 것은 Integrating an Amazon Lex Bot with Twilio SMS 문서를 참고하시기 바랍니다.

SDK 지원 – 이제 AWS SDK를 사용하여 모바일, 웹, 데스크톱 및 IoT 플랫폼에서 텍스트 및 음성 기능을 사용하여 상호 작용하는 iOS, Android, Java, JavaScript, Python, .NET, Ruby, PHP, Go 및 C ++ SDK 및 봇용 빌드 프로세스를 지원합니다. 프로그래밍에서 샘플 구문을 추가하고, 슬롯을 만들고, 슬롯 값을 추가하는 등의 작업을 수행 할 수 있습니다. 또한, 빌드, 테스트 및 배포 프로세스 전체를 관리 할 수도 있습니다.

음성 입력 테스트 기능 – Amazon Lex 테스트 콘솔은 이제 Chrome 브라우저에서 사용될 때 음성 입력을 지원합니다. 마이크를 클릭하면됩니다.

발음(Utterance) 모니터링 – Amazon Lex는 봇이 인식하지 못했던 발음을 녹음합니다. 그렇지 않은 경우 누락 된 음성 목록을 검토하고 관련 항목을 봇에 추가 할 수 있습니다.

Amazon CloudWatch 메트릭을보고 사용자가 봇과 어떻게 상호 작용하는지 더 잘 이해할 수 있습니다. 시간이 지남에 따라 다른 말투를 추가하고 다른 방법으로 봇을 향상 시키면 메트릭이 감소해야합니다.

  • 텍스트가 누락된 발음 (PostText)
  • 텍스트가 누락된 발음 (PostContent)
  • 음성이 누락된 발음

슬롯과 Slots with Utterances – 제 슬롯을 식별하고 슬롯 유형에 값을 추가하기 위해 샘플 발언의 텍스트를 강조 표시 할 수 있습니다.

향상된 IAM 지원 – Amazon Lex 권한은 이제 콘솔에서 자동으로 구성됩니다. 이제 자신 만의 정책을 만들 필요 없이 봇을 만들 수 있습니다.

Response Cards 미리보기 – 이제 콘솔에서 응답 카드 미리보기를 볼 수 있습니다.

 

더 자세한 사항은   Using a Response Card를 참고하시기 바랍니다.

정식 출시 및 챗봇 경진대회
서비스 요금은 응용 프로그램에서 처리하는 텍스트 및 음성 응답 수를 기반으로 합니다. 자세한 정보는 Amazon Lex 요금 페이지를 참조하십시오.

아울러 Amazon Lex 정식 출시에 맞추어 Slack과 함께 AWS Chatbot Challege 콘테스트를 개최합니다. 다양한 아이디어를 기반으로 여러분의 챗봇을 만들어 제출하시면, 심사를 거쳐 상금과 함께 AWS re:Invent 참가 티켓 등 다양한 시상을 진행합니다.

AWS Chatbot Challenge는 글로벌 사용자를 대상으로 잠재 고객의 문제를 해결하거나 가치를 부여하는 데 도움이 되는 대화방 서비스를 구축 할 수 있는 기회입니다.  더 자세한 것은 영문 블로그 기사를 참고하시기 바랍니다.



Jeff;

이 글은 Announcing the AWS Chatbot Challenge – Create Conversational, Intelligent Chatbots using Amazon Lex and AWS LambdaAmazon Lex – Now Generally Available의 한국어 편집본입니다.

Amazon Rekognition – 이미지 관리 및 Amazon Polly – 음성 표식 및 속삭임 생성 기능 업데이트

지난 re:Invent 2016 행사에서 개발자들이 손쉽게 스마트 애플리케이션을 개발할 수 있는 딥러닝 기반의 이미지 인식 서비스인 Amazon RekognitionAmazon PollyAmazon Lex 등을 출시하였습니다. 이들 인공 지능 서비스에 최근 새로운 기능을 추가하였습니다. 이 글에서는 최근 업데이트 기능에 대해 간단하게 알아보겠습니다.

Amazon Rekognition에 이미지 관리 기능
사용자가 프로필 사진에 대해 올린 경우, 사진이 적합하지 않은 콘텐츠인 경우 이미지를 식별할 수 있습니다. 상세한 레이블을 통해 허용 이미지 종류를 결정하는 미세 필터를 조정할 수 있습니다.

본 기능을 활용하려면 DetectModerationLabels 함수를 호출하면, 아래와 같은 응답을 통해 활용 가능합니다.

"ModerationLabels": [ 
  {
    "Confidence": 83.55088806152344, 
    "Name": "Suggestive",
    "ParentName": ""
   },
   {
    "Confidence": 83.55088806152344, 
    "Name": "Female Swimwear Or Underwear", 
    "ParentName": "Suggestive" 
   }
 ]

더 자세한 것은 Image Moderation 데모 기능을 통해 확인할 수 있습니다.

Amazon Polly 음성 표식 기능 및 속삭임 기능 출시

음성 표식(SppechMark) 기능은 개발자가 음성을 시각적 경험과 동기화 할 수 있습니다. 이 기능을 사용하면 음성을 얼굴 애니메이션과 동기화하거나 말한대로 단어의 강조 표시를 사용하여 립싱크와 같은 시나리오를 만들 수 있습니다. 음성 표식 메타 데이터는 합성된 음성을 설명하고 음성 오디오 스트림과 함께 사용함으로써 사운드, 단어, 문장 및 SSML 태그의 시작과 끝을 결정할 수 있습니다. 개발자는 립싱크 아바타를 만들고, 시각적으로 읽은 경험을 강조하고, Amazon Lumberyard와 같은 게임 엔진에 음성 기능을 통합하여 캐릭터에게 음성을 제공 할 수 있습니다.

네 가지 유형의 음성 표시가 있습니다.

  • 문장 : 입력 텍스트에서 문장 요소를 지정합니다.
  • 단어 : 입력 텍스트의 단어 요소를 나타냅니다.
  • Viseme : 말한 소리에 해당하는 얼굴과 입의 위치를 ​​보여줍니다.
  • SSML (Speech Synthesis Markup Language) : SSML 입력 텍스트에서 <mark> 요소를 설명합니다.

Amazon Polly에서 Change file format을 누른 후, File Format 옵션에서 Speech Marks를 선택합니다. Change 버튼을 눌러서 다운로드 포맷을 바꿀 수 있습니다.

다운로드를 하면, 다음과 같이 음성 표식이 있는 텍스트 파일을 다운로드 할 수 있습니다.


속삭임 기능은 개발자가 Text-to-Speech 출력을 수정할 수있는 표현형 음성 기능에서 피치, 템포 및 소리 크기에 대한 음성 효과입니다. 속삭이는 기능을 사용하면 개발자는 <amazon:effect name=”whispered”> SSML 요소를 사용하여 속삭이는 음성으로 말한 입력 텍스트의 단어를 가질 수 있습니다.

<speak>Hi!<amazon:effect name="whispered">My name is Tara.</amazon:effect>I am excited to talk about Polly's new features.</speak>

위의 마크업을 복사 한 후,  Listen to speech  버튼을 누르면 “My name is Tara” 는 속삭임 소리로 들리게 됩니다.

본 기능 업데이트에 대한 자세한 소개는 아래를 참고하세요.

Channy;

Amazon Rekognition 업데이트 – 얼굴 기반 나이 추정 속성 추가

Amazon Rekognition은 AWS의 인공 지능 서비스 중 하나입니다. Rekognition은 이미지에서 물체, 장면 및 얼굴을 감지 할 뿐만 아니라 얼굴을 검색하고 비교할 수도 있습니다. Rekognition 서비스는 백엔드에서 수십억 개의 이미지를 매일 분석하기 위해 딥러닝 기반 신경 네트워크 모델을 사용합니다. (자세한 내용은 Amazon Rekognition – 딥러닝을 기반한 이미지 탑지 및 인식 서비스 참고)

Amazon Rekognition은 이미지에서 찾은 여러 가지 속성을 API로 제공함으로서 다양한 이미진 기반 스마트 애플리케이션을 만들 수 있습니다. 오늘은 얼굴을 토대로 추정 나이를 알려주는 재미있는 신규 속성을 추가하였습니ㄷ다. 이 값은 나이 단위로 표시되며, 연령대가 겹칠 수 있습니다. 즉, 5 살의 얼굴은 4에서 6의 추정 범위를 가질 수 있지만, 6 살 얼굴은 4에서 8의 추정 범위를 가질 수 있습니다. 새로운 속성을 사용하여, 안전 관련 애플리케이션이나 인구 통계 수집 등에 활용할 수 있습니다.

새로운 기능을 재미있게 살펴 보기 위해, 필자의 옛날 사진을 가지고 Rekognition에게 나이를 추정해 달라고 요청했습니다. 결과는 다음과 같습니다.

첫 사진은 아마 제가 2 살 정도였습니다.

이 사진은 1966 년 봄 할머니 집에서 찍은 사진입니다.

저는 6 살이었는데, 6 세에서 13 세 사이라고 추정했습니다.

제가 43 살이었던 2003 년의 나의 첫 공식 아마존 PR 사진입니다.

나이 범위가 17 년이지만, 실제 나이는 중간값에 있습니다.

그리고, 가장 최근의 (2015 년 말) 사진입니다. 벌서 55 살이 되었네요.

다소 넓은 나이 범위가 나오지만, 중간 값에 나옵니다.  일반적으로 각 얼굴의 실제 나이는 인식 된 범위 내로 들어오지만, 항상 중간값으로 정확하게 떨어지는 것으로 생각해서는 안됩니다.

현재 이 기능은 바로 사용 가능하며 AWS 관리 콘솔에서 데모로 해 보실 수 있습니다.

Jeff;

이 글은 Amazon Rekognition Update – Estimated Age Range for Faces의 한국어 번역입니다.

저도 한번 해보았습니다. 여러분도 지금 바로 테스트 해보세요~!

2017-02-rekognition-face-age

Amazon Rekognition – 딥러닝을 기반한 이미지 탐지 및 인식 서비스

아래 사진이 무엇으로 보이시나요?

당연히 여러분은 동물이라고 인지하실 겁니다. 또한, 애완견으로서 골드리트리버 종이죠. 위의 그림과 이러한 메타 정보가 결합되는 것은 여러분의 뇌에서 바로 인지하기 때문입니다. 이는 여러분이 이미 수백 수천번 이러한 이미지와 데이터 간의 훈련을 통해 학습을 한 것입니다. 이런 방식으로 식물과 동물의 차이, 개와 고양이의 차이 그리고 골드 리트리버와 다른 견종과의 차이를 인지하는 것입니다.

이미지 인식을 위한 딥러닝(Deep Learning)
컴퓨터를 통해 인간과 동일한 수준의 이해력을 요구하는 것은 매우 어려운 작업임이 입증되었습니다. 수십 년 동안 컴퓨터 과학자들이 이 문제에 대해 여러 가지 다른 접근 방식을 취해 왔습니다. 오늘날 이 난제를 해결할 수 있는 가장 좋은 방법은 딥러닝 학습(deep learning)이라는 점에 공감대가 형성되었습니다. 딥러닝은 추상화와 신경망 결합을 사용하여 (Arthur C. Clarke가 말한 것처럼) 마술과 구별할 수 없는 결과를 산출합니다. 그러나 상당한 비용이 듭니다. 첫째, 데이터 훈련 단계에 많은 작업을 투입해야 합니다. 학습 네트워크에 다양한 텍스트 예제 (“this is a dog”, “this is a pet” 등)를 표시하여 이미지의 특징을 라벨과 연관 지어야 합니다. 이 단계에서 신경망의 크기와 다층 적 특성으로 인해 계산 비용이 많이 들게 되는 거죠. 트레이닝 단계가 완료된 후, 트레이닝 네트워크에서 새 이미지가 들어왔을 때 평가하기가 용이합니다. 쉽습니다. 그 결과는 일반적으로 신뢰 수준 (0-100%)으로 표현됩니다. 이를 통해 응용 프로그램에 적합한 정밀성 정도를 결정할 수 있습니다.

Amazon Rekognition 서비스 소개
오늘 Amazon Rekognition 서비스를 공개합니다. 딥러닝 기술을 이용하여 컴퓨터 비전 연구팀이 수 년에 거쳐 수십 억장의 이미지를 매일 훈련 시키는 완전 관리형 서비스입니다. 정확히 훈련된 수 천개의 객체와 장면에 대한 정보를 여러분의 애플리케이션에 사용할 수 있습니다. Rekognition 데모를 통해 사용 방법 및 샘플 코드를 보실 수 있고, 더 자세한 사항은 Rekognition API를 참고하실 수 있습니다.

Rekognition은 확장성을 고려해서 설계되었습니다. 각종 장면, 객체, 얼굴 등을 인식하여 이에 해당하는 레이블(Lavel) 정보를 반환해 주게 됩니다. 이미지에 하나 이상의 얼굴이 포함되어 있다면, 각 얼굴 경계선에 대한 정보를 제공합니다. 아래는 위의 골드 리트리버 이미지에 대한 정보입니다.

보시다시피 Rekognition을 통해 animal, dog, pet, golden retriever 등의 높은 신뢰 수준의 정보를 제공합니다. 이러한 정보들은 독립적이고 서로 명시적 관계성 없이 각자 딥러닝 모델을 통해 생성되는 것입니다. 예를 들어 개와 동물은 완전히 다른 트레이닝 결과입니다. 다만, Rekognition 결과 중 두 레이블이 동시에 강아지 중심의 훈련 자료에 동시에 나타나기도 합니다.

이제 제 와이프와 제가 찍은 사진을 한번 올려 보겠습니다.

Amazon Rekognition를 통해 두 사람의 얼굴과 경계선을 얻을 수 있습니다. 와이프가 행복한 표정을 짓고 있다는 것도 알려주네요. (이 사진은 와이프 생일날 찍은 것입니다.)

또한, Rekognition는 얼굴을 비교하고 해당 이미지 인식을 요청한 많은 얼굴 중 하나가 포함되어 있는지 확인합니다.

모든 기능은 API 함수를 통해 더 자세하게 제공됩니다. (콘솔에서는 간단한 데모를 보시는데 좋습니다.) 예를 들어, DetectLabels로 첫 번째 예제를 프로그래밍으로 처리하고, 두번째로 DetectFaces를 실행합니다. Rekognition에서 IndexFaces을 여러 번 호출해서 인식할 이미지를 준비시킬 수도 있습니다. 실행 할 때마다, 몇 기지 주요 정보(face vectors)를 이미지에서 추출해서 벡터로 저장하고 이미지를 없앱니다. 하나 이상의 인식용 모음을 만들어서 각각 페이스 벡터의 관련 그룹에 저장할 수 있습니다.

RekognitionAmazon Simple Storage Service (S3)에 있는 이미지를 직접 가져올 수도 있습니다. AWS Lambda 함수를 통해 새로 업로드 되는 이미지 인식 작업을 수행할 수 있는데, 이 때 AWS Identity and Access Management (IAM)으로 Rekognition API 접근을 하게 하고 AWS CloudTrail로 API 사용 로그를 남길 수도 있습니다.

Rekognition 애플리케이션
이미지 인식 서비스에 대한 응용 분야는 무궁무진합니다. 만일 많은 사진 정보가 있다면 Amazon Rekognition를 통해 태깅 및 색인 작업을 할 수 있습니다. Rekognition은 클라우드 서비스로서 저장 인프라 설치와 처리 그리고 확장성에 염려할 필요가 없기 때문입니다. 이미지 검색 기능, 태그 기반 브라우징 등 어떤 종류의 대화형 검색 서비스에 적합니다.

또한, 다양한 인증 및 보안 서비스에도 활용할 수 있습니다. 웹캠을 통해 신분증 정보를 확인하거나, 사무실 출입이나 보안 영역 출입 허가를 할 수도 있고, 시각적 감시를 수행하고, 관심 있는 대상 및 사람들을 위해 안면 검사를 할 수도 있습니다. 궁극적으로 영화에 나오는 것 같은 얼굴 인식 정보를 통한 “스마트” 광고판을 만들어 볼 수도 있을 것입니다.

정식 출시
Rekognition은 오늘 부터 US East (Northern Virginia), US West (Oregon), EU (Ireland) 리전에서 서비스를 시작합니다. AWS 프리티어(무료 체험판)을 통해 한달에 5,000개의 이미지는 비용 없이 분석 가능하고 일년에 1,000 개의 페이스 벡터를 저장할 수 있습니다. 그 이상에 대해서는 이미지량과 저장 볼륨에 따라 금액이 책정됩니다.

Jeff;

이 글은 AWS re:Invent 2016 신규 출시 소식으로 Amazon Rekognition – Image Detection and Recognition Powered by Deep Learning의 한국어 번역입니다. re:Invent 출시 소식에 대한 자세한 정보는 12월 온라인 세미나를 참고하시기 바랍니다.

Amazon Polly – 클라우드 기반 24개 언어 47개 음성 합성 서비스

어린 시절 (TV를 많이 보던 때)로 돌아가면, 1960년대와 70년대 매우 유명한 로봇 소리가 다시 기억이 납니다. 특히, HAL-9000, B9 (Lost in Space), 오리지널 Star Trek Computer, 밋 Rosie (The Jetsons)과 같은 영화에서 익숙한 음성이 생각나실 것입니다. 그 때는 기계적으로 생성된 음성이 인간의 감정과 표현을 그대로 재현한다는 것은 불가능하다고 생각했습니다.

세월이 흘러 이제는 컴퓨터가 생성하는 음성을 사용하는 다양한 애플리케이션과 사용 사례가 있고, 흔히 TTS(Text-to-Speech)라고 알려진 음성 합성은 게임, 알림, 이러닝, 화상 통화 및 고객 센터 응대 등에서 많이 활용되고 있습니다. 이러한 애플리케이션 중 상당수는 연결성이 뛰어나고, 로컬 프로세싱 성능 및 스토리지가 최상의 수준인 모바일 환경에 매우 적합합니다.

Amazon Polly 서비스 소개
이러한 사용 사례를 지원하기 위해 오늘 Amazon Polly 서비스를 출시합니다. Polly는 여러분의 애플리케이션 및 도구에서 활용가능한 클라우드 기반 음성 합성 서비스입니다. 현재 47개의 남성 혹은 여성 목소리와 24개 언어를 지원하고, 추가적으로 더 다양한 언어 및 음성을 서비스할 계획입니다.

Polly는 다양한 음성 합성의 기술적 도전을 극복하고 있습니다. 예를 들어, “I live in Seattle”에서 live(리브)와 “Live from New York.”에서 Live(라이브)를 구별합니다. 같은 단어가 다른 맥락에서 사용될 때의 발음 방식에 대해 정보를 가지고 있습니다. “St.”의 경우도 맥락에 따라 “street” 또는 “saint.”로 발음됩니다. 또한, Polly는 단위, 약자, 화폐 단위, 날짜, 시간 등 언어별로 다른 부분에 대해 유연하게 처리합니다.

이를 위해 전문적인 모국어 구사자들과 함께 작업을 하고, 각 언어 구사자들에게 개별 언어 내 무수히 많은 대표적인 단어와 어구를 발음하도록 요청한 다음, 그 오디오를 diphone이라고하는 음원으로 분해합니다.

Polly는 일반 텍스트를 전달 받아, 문맥과 내용에 따라 가장 정확하고 자연스러운 음성을 오디오 파일로 전환하여 스트리밍으로 제공하게 됩니다. 좀 더 다양한 기능을 추가하고 싶다면, SSML (Speech Synthesis Markup Language) 정보를 제공할 수 있습니다. 예를 들어, 하나의 문장에 영어와 프랑스어 단어가 섞여 있다던지, 어구 강조를 한다던지 하는 부분에 대한 SSML 의미적 태깅을 통해 음성이 달리 변환됩니다.

본 블로그에 음성 파일을 임베딩할 수 없지만, Polly Console에 가셔서,  여러분이 원하는 텍스트를 직접 입력 한 후 Listen to speech를 눌러 들을 수 있습니다.

MP3 파일로 저장하여 애플리케이션에서 사용할 수 있습니다.

Language and Region 메뉴를 누르면, 지원 하는 언어 및 국가를 보실 수 있습니다.

API 및 기술적 세부 정보
Polly 콘솔 뿐만 아니라 다양한 방식으로 자유롭게 서비스를 이용하려면, 텍스트 및 SSML을  SynthesizeSpeech API로 호출 하면 됩니다. 결과를 사용자에게 스트리밍으로 전달하거나, MP3 혹은 OGG 파일로 생성해서 원할 때 제공할 수 있습니다. MP3 또는 Vorbis 포맷의 고품질 오디오 (최대 22 kHz 샘플링) 및 PCM 포맷의 전화 음성 (8 kHz)을 지원합니다.

AWS Command Line Interface (CLI) 를 사용할 수도 있습니다.

Bash
$ aws polly synthesize-speech \
  --output-format mp3 --voice-id Joanna \
  --text "Hello my name is Joanna." \
  joanna.mp3

Polly는 모든 전송 데이터를 SSL을 통해 암호화 합니다. 제공된 텍스트는 Polly의 성능을 유지하기 위해 6개월까지 암호화 된 상태로 저장됩니다.

정식 출시 및 가격
Amazon Polly는 월 5백만자 까지 무료로 제공됩니다. 그 이상의 경우, 한 자당 $0.000004 per 또는 제작된 오디오 분당 $0.004로 과금 됩니다.  본 블로그의 영문 포스트의 경우, 약 $0.018 이고,  Adventures of Huckleberry Finn이라는 책 원문 전체는 약$2.4 정도 됩니다.

PollyUS East (Northern Virginia), US West (Oregon), US East (Ohio), EU (Ireland) 리전에서 지금 바로 사용할 수 있습니다.

Jeff;

이 글은 AWS re:Invent 2016 신규 출시 소식으로 Polly – Text to Speech in 47 Voices and 24 Languages의 한국어 번역입니다. re:Invent 출시 소식에 대한 자세한 정보는 12월 온라인 세미나를 참고하시기 바랍니다.

Amazon Lex – 대화형 음성 및 텍스트 인터페이스 개발 서비스

컴퓨터를 통해 말하도록 하는 것도 좋지만, 사람의 소리를 듣고 반응하는 것은 훨씬 색다릅니다. Amazon Echo를 사용해 보셨다면, Alexa 기반 상호 작용 모델이 얼마나 간단하고, 유용하며, 강력한지 알 수 있습니다.

저희는 대화형 프로그램에서 Amazon Alexa를 사용할 수 있도록 동일한 딥러닝 기술 즉 ASR(자동 음성 인식) 및 NLU(자연어 이해) 등을 만들고 있습니다. 오늘 공개하는 Amazon Lex 를 사용하여 채팅봇 및 다양한 유형의 모바일 웹앱을 제작할 수 있습니다. 매력적이고 생생한 상호 작용을 지원하는 모바일 애플리케이션. 채팅봇을 통해 정보를 제공하고, 애플리케이션과 업무 환경에 상호 소통 기능 추가, 로봇, 드론 및 장난감에 대한 제어 메커니즘을 제공 할 수 있습니다.

Amazon Lex를 통해 바로 시작할 수 있습니다. Lex Console에서 대화 방식을 설계하고, Lex에 자연어 처리 모델을 작성하는 데 필요한 몇 가지 샘플 구문을 제공합니다. 그런 다음 Amazon Lex봇을 공개하여 사용자와 텍스트 또는 음성 대화를 처리할 수 있습니다. Amazon Lex는 완전 관리형 서비스이므로 모든 인프라를 설정하고 관리 또는 확장하는 데 시간을 낭비 할 필요가 없습니다.

여러분이 챗봇을 만들면 Facebook Messenger 에 오늘 바로 연결할 수 있습니다. SlackTwilio와의 통합도 마찬가지입니다. AWS 측면에서는 AWS Lambda, AWS Mobile Hub, Amazon CloudWatch를 사용합니다. 또한 데이터 저장 및 인증을 위해 Amazon DynamoDB, Amazon Cognito 및 기타 서비스를 이용할 수 있습니다.

Amazon Lex를 사용하면 AWS Lambda 함수를 사용하여 엔터프라이즈급 응용 프로그램 및 데이터 연결을 포함하여 챗봇용 비즈니스 로직을 구현할 수 있습니다. 얼마전 공개한 AWS Mobile Hub의 SaaS 통합 방식과 함께, 이미 사용중인 SaaS 애플리케이션에 저장된 계정, 연락처, 리드(Lead) 정보 및 기타 엔터프라이즈 데이터에 대하여 대화식 인터페이스를 제공하는 높은 생산성을 제공하는 채팅봇을 구축 할 수 있습니다.

이들을 통합하여 모바일 응용 프로그램에서 시작하여 비지니스 로직까지 완벽히 조합된 통합 솔루션을 구축하는 데 필요한 모든 레고 블럭을 사용할 수 있습니다.

Amazon Lex의 기본 개념
잠시 Amazon Lex에서 사용하는 기본 개념들을 알아보겠습니다.

  • Bot – 봇은 대화의 모든 구성 요소를 포함합니다.
  • Intent – 봇 사용자가 달성하고자 하는 목표를 나타냅니다 (예를 들어, 비행기 표를 구입하거나, 예약하거나 일기 예보를 받기 등.)
  • Utterance – 의도를 실행하도록 하는 단어 또는 입력된 구문 입니다. “호텔을 예약하고 싶어”또는 “꽃 주문해줘”는 와 같은 것입니다.
  • Slots – 각 슬롯은 사용자 의도를 수행하기 위해 제공해야 하는 작은 데이터입니다. 여행용 봇이라면 도시, 주 또는 공항 정보를 목록화 한 후 이용할 수 있습니다.
  • Prompt – 사용자가 의도를 수행하는 데 필요한 일부 데이터 (슬롯 용)를 제공하도록 요청하는 질문입니다.
  • Fulfillment – 사용자의 의도를 전달하는 비즈니스 로직입니다. Lex 결과 제공을 위해 람다 함수 사용을 지원합니다.

Bots, intents, slots은 여러 개발 환경에서 코딩, 테스트, 스테이지 서버 배포 및 정식 서비스 간에 명확한 선을 그릴 수 있도록 각각 버전을 지정할 수 있습니다. 각 봇에 대해 여러 개의 별칭을 만들어 특정 버전의 구성 요소에 매핑 할 수 있습니다.

채팅 봇 만들어 보기
Lex 봇을 정의하고 Lex 콘솔에서 모든 구성 요소를 설정할 수 있습니다. 샘플 중 하나를 시작하거나 사용자 정의 봇을 만들 수 있습니다.

원하는 utterances 및 관련 slots을 설정할 수 있습니다.

각종 맞춤 설정을 할 수 있습니다.

대화 방식으로 잘 작동하는지 봇을 테스트하고 수정할 수 있습니다.

Facebook (및 기타 연결 앱)에서 사용할 콜백 URL을 생성 할 수 있습니다.

좀 더 자세한 사항은 re:Invent 행사가 끝나고 나서 좀 더 자세하게 알려드리겠습니다.

정식 출시 및 가격
Amazon LexUS East (Northern Virginia) 리전에서 미리 보기 기능으로 오늘 출시합니다.

미리 보기 등록 후, 첫 12개월 동안 월 10,000번의 텍스트 요청 및  5,000회 음성 요청을 프리티어로 제공합니다. 그 이후 부터는 1,000 음성 요청 당 $4.00와 1,000 텍스트 요청당 $0.75 입니다.

Jeff;

이 글은 AWS re:Invent 2016 신규 출시 소식으로 Amazon Lex – Build Conversational Voice & Text Interfaces의 한국어 번역입니다. re:Invent 출시 소식에 대한 자세한 정보는 12월 온라인 세미나를 참고하시기 바랍니다.