Best Fit line – Machine Learning Tutorial with python

안녕하세요 여러분 테크 엔지니어링 채널에 오신 것을 환영합니다 이 비디오는 머신 러닝 튜토리얼 07입니다 회귀에 가장 적합한 라인에 관한 모든 것 우리는 주어진 회귀, 또는 가장 적합한 선을 계산하기 위해 노력하고 있습니다

파이썬의 데이터 셋 이전에는 경사를 모을 함수를 작성했습니다 이제 y 절편을 계산해야합니다 이 시점까지 우리의 코드 : 다시 말해, 최적 선의 y 절편에 대한 계산은 다음과 같습니다 b는 y 막대 광산과 같습니다

이것은 경사보다 약간 쉬울 것입니다 이것을 다른 라인에 통합하여 몇 줄을 절약 할 수 있습니다 기능 이름을 바꿉니다 best_fit_slope_and _intercept에 다음으로 b = mean (ys)-(m * mean (xs))를 입력하고 m과 b를 반환합니다 이제 우리는 다음과 같이 호출 할 수 있습니다 : m, b = best_fit_slope_and_intercept (xs, ys) 출력은 0

3 43이어야합니다 이제 데이터 라인을 만들어야합니다 y = mx + b라는 것을 상기하십시오 우리는 이것에 대한 기능을 만들 수 있습니다

고리: regression_line = [(xs의 x에 대한 (m * x) + b]] 위의 1-liner for 루프는 다음과 같습니다 x의 x에 대해 regression_line = [] : regression_lineappend ((m * x) + b) 대단한 노동의 결실을 거두자! 다음 가져 오기를 추가하십시오 matplotlib 가져 오기 스타일에서 plt로 matplotlibpyplot 가져 오기 style

use ( 'ggplot') 이것은 우리가 그래프를 만들고 그렇게 추악하지 않게 만들 수 있습니다 이제 끝 : pltscatter (xs, ys, color = '# 003F72') pltplot (xs, 회귀 _ 라인) pltshow () 먼저 기존 데이터의 산점도를 그린 다음 회귀선을 그래프로 표시합니다

마지막으로 보여주세요 따라서이 모델을 기반으로 실제로 예측하는 방법은 무엇입니까? 만든? 충분히 간단 하죠? 모델이 있고 x 만 입력하면됩니다 예를 들어, 몇 가지 점을 예측해 봅시다 predict_x = 7 우리는 입력 데이터, "기능"을 가지고 있습니다 라벨이 뭐야? predict_y = (m * predict_x) + b 인쇄 (predict_y) 출력 : 6

4 우리는 이제 우리 자신의 모델을 만드는 방법을 알고 있습니다 그러나 우리는 여전히 중요한 것을 놓치고 있습니다 : 얼마나 정확한지 우리 모델? 다음 튜토리얼에서 논의 할 주제입니다!

Exabyte.io Tutorial: Predict New Properties with Machine Learning

기계 학습 자습서를 사용하여 새 속성을 예측합니다 Jobs Designer 인터페이스에서 4 개의 실리콘 원자와 12 개의 게르마늄 원자로 구성된 재료를 선택하여 가져 오십시오

그런 다음 워크 플로우 탭으로 이동하여 실리콘과 게르마늄으로 구성된 전자 재료의 전자 갭을 예측하기 위해 이전에 훈련 된 머신 러닝 모델 워크 플로우를 선택하십시오 이제 '입력'계산 단위를 검사하겠습니다 훈련 된 모델에 의해 예측되는 특성은이 장치에서 틱된 대상 특성,이 경우 밴드 갭입니다 그런 다음 작업 이름을 설정하십시오 여기서는 Si4Ge12 Band Gap ML Predict라고합니다

다음으로 작업을 저장하십시오 그런 다음 실행을 위해 선택하여 계산 대기열에 제출할 수 있습니다 작업이 완료되면 열어 최종 결과를 검사하십시오 실리콘과 게르마늄의 조성에 대한 직간접적인 밴드 갭의 예측 된 값은 결과 페이지에서 찾을 수 있으며 실험 값과 잘 일치합니다 이것으로 본 튜토리얼을 마칩니다

Coding Challenge #151: Ukulele Tuner with Machine Learning Pitch Detection Model

코딩 과제에 오신 것을 환영합니다 오, 내 우쿨렐레는 너무 조율되어 있습니다

우쿨렐레 튜너를 만드는 것은 어떤 행운입니까? 코딩 도전 이런 우연이 글쎄요, 저는 새 스튜디오에 있습니다 내 스튜디오는 아니지만 스튜디오입니다 뉴욕 대학의 브루클린에 있습니다

그리고 여기에서 첫 번째 코딩 과제를 수행하고 있습니다 나는 무엇이 의미가 있는지 정말로 모른다 이것이 특정한 코딩을하는 순간이라면 도전, 모르겠다 난 그냥 우리가 조정하려고 할거야 우쿨렐레는 내가 가지고있는 튜너 때문에 배터리가 고장났습니다 내 귀가 그렇게 좋지 않습니다

이것이 작동하는지 살펴 보겠습니다 ml5js 라이브러리를 사용하겠습니다 이것은 운이 좋은 JavaScript 라이브러리입니다 개발에 참여 나는 튜토리얼을 만들려고 노력하므로 잘 작동합니다

피치 감지를 위해 사전 훈련 된 모델이 있습니다 잠시 후에 얘기하겠습니다 그리고 p5 Web Editor도 사용하겠습니다 p5 웹 편집기에서이를 수행하는 것은 약간 까다로울 것입니다 그것이 포함되어 있기 때문에 많은 것들을 업로드하지만 좋은 소식은 이미 ml5 라이브러리가 있습니다

p5 웹에 있다면해야 할 모든 것 ml5 웹 사이트로 이동하면 editorp5jsorg의 편집자 시작하기에서이 링크를 클릭하면 열립니다 ml5 라이브러리가있는 p5 웹 편집기의 스케치 수입 좋아, 우리는 거기에있다

나는 다음과 같이 말함으로써 이것이 작동하는지 확인할 수 있습니다 consolelog ml5version 나는 달리기를 할 것이다

그리고 여기에 버전이 표시되어 있으므로 ml5를 사용할 수 있습니다 이제 다음에 무엇을해야합니까? ml5 웹 사이트로 이동하면 참조로 이동합니다 그리고 참고로, 다양한 기능을 볼 수 있습니다 ml5는 매체에 따라 다른 카테고리로 나뉩니다 내가 확실히하고 싶은 것은 소리를 보는 것입니다 사운드 모델을 찾고 싶기 때문에 그리고 보라, pitchDetection이라는 모델이 있습니다

이제는 피치가 아닌 소리를 분석하는 방법 기계 학습이 필요합니다 FFT 분석을 수행하고 다양한 다양한 것을 볼 수 있습니다 다른 주파수의 진폭과 하나를 선택 그건- 다양한 방법이 있습니다 그리고 소리에 대해 더 많은 것을 아는 사람들 그 방법을 알려줄 수 있습니다 그리고 다른 자습서를 찾을 수 있다고 확신하지만 여기에 있습니다 ml5 라이브러리를 사용하려고합니다

그러나 이것은 실제로 질문을 구걸합니다 음, 어떻게 작동합니까? 미리 훈련 된 모델에 대해 말씀하셨습니다 따라서 ml5에는 CREPE라는 특정 모델이 제공됩니다 그것이 당신이 발음하는 방법인지 모르겠습니다 나는 Convolutional Representation 인 crepe를 말하고 싶습니다

피치 추정 또는 CREPE 용 나는 과일, 작은 바나나를 좋아합니다 아마 약간의 누텔라가 좋을 수도 있습니다 모르겠어요 나에게 너무 많아, 누텔라 이것은 피치 감지에 관한 것입니다 이것이이 비디오에 관한 것입니다

이 특정 모델에 대해 더 많이 읽을 수 있습니다 그리고 그것을 훈련시키는 데 사용 된 데이터는 항상 누군가를 사용할 때 물어봐야 할 질문 많은 것들이 있기 때문에 사전 훈련 된 모델 잘못되거나 올바르게 진행되거나 잠재적으로 문제가 될 수 있음 훈련 된 데이터를 기반으로 한 모델에 대해 이 백서에서는이를 자세히 설명합니다 이 링크를 클릭하면 데모를 볼 수 있습니다 브라우저에서이 작업을 ml5에서 수행합니다 한나 데이비스에게 큰 감사를드립니다 실제로이 모델을 ml5로 이식 한 사람은 그녀의 작품에 대한 링크를 포함하겠습니다 이 비디오의 설명에서 좋아, 여기 ml5 문서 페이지에 있습니다 그리고 그것은 어떻게 생겼습니까? 피치 오브젝트를 만들어야합니다

그리고 string /model/과 같은 일종이 있습니다 그게 뭐야? 여기서 다루고 싶은 첫 번째 것은 이것이 /model/입니다 ml5를 사용할 때는 여러 번 URL에서 모델 파일을로드합니다

실제로 코드에 URL을 넣을 수도 있습니다 또는 ml5는 URL을 자동으로 알 수 있습니다 Google 서버 또는 다른 서버에 저장 그것은 GitHub에 저장되었고 ml5에 의해 지적되었습니다 이 경우에는 실제로 내 코드와 함께 모델 파일이 있어야합니다 이것은 아마도 바뀔 것입니다

이 비디오를 만드는 것만으로도 CREPE 모델 버전을 호스팅해야합니다 ml5를 통해 더 쉽게 액세스 할 수 있습니다 그러나 운 좋게도 ml5-data-and-models GitHub에 가면 레포, 내가 여기있는 곳-githubcom/ml5js 모델 / 피치 감지 / 크레페로 이동할 수 있습니다

그리고 이것들은 모든 모델 파일입니다 따라서 이것은 사전 훈련 된 시스템에서 매우 일반적입니다 학습 모델 JSON 파일이 있습니다 이것은 본질적으로 모델을 설명하는 파일입니다 그리고 다른 모든 파일들이 있습니다

실제 무게, 숫자, 훈련 후 모델의 비밀 소스 신경망의 모든 작은 매개 변수 모든 파일에 저장됩니다 이제 실제로 모든 것을 이미 다운로드했습니다 그리고 당신은 그들을 볼 수 있습니다 여기 바탕 화면의 폴더에 있습니다

제가 지금하고 싶은 것은 모두 추가하는 것입니다 P5 웹 편집기에 어떻게되는지 보자 나는 단지 작은 미디어 파일을 업로드하는 작업 만했습니다 그리고 사운드 파일이지만, 이것이 효과가 있다고 생각합니다 그래서 나는 여기에 갈 것입니다

새로운 것을 만들려고합니다 이걸보기가 어렵습니다 새 폴더를 만들겠습니다 저는이 크레페를 부를 것입니다 그런 다음 파일 추가를하겠습니다

그리고 나는 이것들을 모두 선택할 수 있기를 바라고 있습니다 여기로 드래그하십시오 그래서 웹 편집기는 현재 지원하는 것을 잊었습니다 JSON, CSV 또는 JPEG 이미지와 같은 특정 파일 형식 파일, 사운드 파일 모든 가중치를 포함하는이 모델 파일은 웹 편집기에 업로드 할 수 없습니다

그리고 그것은 미래에 바뀔 수있는 것입니다 그러나 운 좋게도 실제로 모델 파일을 가리킬 수 있습니다 그것은 GitHub 자체에 있습니다 여기이 특정 URL은 이 모든 모델 파일이 저장되는 위치 실제로 모든 파일을 설정하는 방법이 있습니다 GitHub에 앉아있는 URL에 콘텐츠 전송 네트워크에서로드 할 수 있습니다

그렇게하는 방법은이게 좋은 블로그입니다 gomakethingscom에서 찾은 게시물 이 기본 URL 만 보여줍니다 이 URL을 통해 항상 파일에 액세스 할 수 있습니다 GitHub의 경우 cdnjsdelivr

net/gh와 사용자의 경로 이름, 저장소 및 파일 경로 그래서 실제로 여기에서 해냈습니다 Refresh를 누르겠습니다 그리고 보시다시피, 이것은 modeljson입니다

파일 이제는 실제로보고 볼 수 있습니다 아, 모든 구성 정보입니다 이 특정 모델에 대해 그리고 나는 이것을 잡고 내 코드에 넣을 수 있습니다 이걸 닫겠습니다

나는 정상에 갈거야 const modelurl이 같다고 말할 것입니다 거기에 붙여 넣을 것입니다 이제는 실제로 경로 만 원합니다 모델이 모든 파일을로드하기를 원하기 때문입니다

그런 다음 modeljson을 제거하겠습니다 이것이 크레페 모델의 경로입니다 계속해서 이걸 삭제할 수 있습니다 이 폴더에서 그것은 사라 졌어요 한 번에 하나씩 파일을 삭제해야한다고 생각합니다

그렇게하겠습니다 이제 코드를 넣을 준비가되었습니다 피치 디텍터라는 변수를 만들겠습니다 그냥 피치라고합시다 피치는 ML5 피치 감지와 같습니다

공간을 좀 더 주겠습니다 피치 감지 참조 페이지로 돌아가겠습니다 그리고 이것들은 내가로드 해야하는 것들입니다 복사 붙여 넣기를하겠습니다

이것들은 내가 전달해야 할 매개 변수입니다 왜 내가 오류가 있는지 궁금해 여기 앉아 있습니다 물론 변수를 const로 선언하면 나는 아무것도 같을 수 없으며 할당 할 수 없습니다 나중 그래서 이것을 내버려 두어야합니다

그리고 나는 많은 사람들을 화나게 할 것입니다 이제 모든 것을 단순화 시켜서 그리고 지금, 나는 이제 피치 감지 개체를 만들었습니다 이제 내가 원하는 것은 여러 가지 논쟁을하는 것입니다 모델 자체 중 하나입니다 따라서 이것은 더 이상 파일의 로컬 디렉토리가 아닙니다 나는 modelurl을 말할 것입니다

이 오디오 컨텍스트와 마이크 스트림을 가져와야합니다 다시 돌아오겠습니다 하지만 모델로드 함수도 필요합니다 모델이로드되었음을 알 수 있습니다 괜찮아

오디오 컨텍스트와 마이크 스트림은 무엇입니까? 글쎄, 문서가 우리에게 알려주기를 바랍니다 오디오 컨텍스트, 사용할 브라우저 오디오 컨텍스트 스트림, 미디어 스트림, 사용할 미디어 스트림 나는 정직하기 위해 조금 길을 잃었다 더 자세한 정보를 얻을 수 있습니까? 우리가 여기서 할 수있는 일이 예제를 보자

여기 예제 코드를 보시면 아, 완벽을 보여주고 있습니다 내가 말함으로써 얻을 수있는 오디오 컨텍스트 오디오 컨텍스트를 얻습니다 완전한 따라서 이것은 JavaScript에 내장 된 것입니다 그것은 Web Audio API의 일부라고 생각합니다

그리고 나는 누군가 채팅 또는 누군가 확신합니다 이것이 조금 더 설명하는 의견을 남길 것입니다 하지만 계속해서 여기에 넣겠습니다 오디오 컨텍스트는 오디오 컨텍스트를 얻는 것과 같습니다 그런 다음 마이크 스트림의 경우 실제로 내장 마이크에 연결되어 있습니다 또는 다른 마이크를 지정할 수도 있습니다

P5 사운드 라이브러리를 사용하여 연결하겠습니다 마이크라는 변수를 만들 수 있습니다 마이크가 P5 오디오 입력과 같다고 말할 수 있습니다 기능이라고 믿는다 이것이 기능입니다

이것은 p5soundjs의 일부입니다 우연히 내가 여기에 액세스하는 라이브러리입니다 인덱싱 된 HTML에서 이것 좀 봐 나는 그런 구 버전의 P5에 있습니다 이 물건을 업데이트합시다

그리고 나는 현재 버전이 90이라고 생각합니다 제가 여기있는 동안 업데이트하겠습니다 여기로 돌아갑니다 그런 다음 P5 마이크에서이 마이크 스트림을 얻을 수 있다고 생각합니다 목적

여기서 micstream을 살펴 보겠습니다 완전한 이 P5 오디오는 micstart라고해야합니다

시작 피치 기능이 보이지 않습니다 아, 흥미 롭습니다 이걸 봐 그래서 나는주의를 기울이지 않았습니다

나는 내가하고있는 일을 정말로 생각하지 못했습니다 여기서 두 가지를해야합니다 로드해야합니다 마이크에 액세스해야하며 모델을로드해야합니다 모델을로드 할 때 모델을 마이크에 연결하려고합니다

여기서 진행되는 순서에 대해 생각해야 할 수도 있습니다 프로그래밍을했거나 보았는지 알고 있기 때문에 JavaScript의 코딩 기차 비디오 비동기 적으로 발생합니다 예를 들어 이런 식으로 할 필요는 없습니다 그러나 아마 할 것입니다 예가 아닌 방식으로 해보자 작동하는지 확인하십시오

아마하지 않고 깨질 것입니다 순서에 대해 신중하게 그래서 지금 막 micstream을 말할 것입니다 그런 다음 micstart라고 말하겠습니다

그리고 나는 듣기와 같은 콜백을 할 것입니다 그런 다음 듣기라는 함수를 작성하겠습니다 그리고 consolelog라고 말할 것입니다 이 자동 새로 고침을 해제하겠습니다

말도 안되는 일 이니까요 Uncaught SyntaxError, 유효하지 않거나 예상치 못한 토큰, 20 행 뭐? 유효하지 않은 토큰이 없습니다 10 행 듣고, 정의되지 않은 속성 시작을 읽을 수 없습니다 예제로 돌아 갑시다

새로운, 새로운 나는 새로운 말을 잊었다 따라서 새로운 키워드가 매우 중요합니다 생성자를 호출 할 때 객체를 만들려면 새로운 것을 말해야합니다 정말 흥미로운 것이 있습니다 그것은 여기에서 진행되고 있습니다 새로운 여기, 새로운 P5 오디오 입력

그러나 어떻게 새로운 ml5 피치 감지를 말하지 않습니까? 왜 그런지 아십니까? 사람들이 다른 방식으로 일하는 것을 좋아하기 때문입니다 이것은 실제로 조금 더 표준입니다 JavaScript의 세계에서 내가 이해하는 것에서 이것은 실제로 객체 생성자를 호출하지 않습니다 그것에 대한 작은 실마리는 바로 소문자 p입니다 이것은 ML5 라이브러리의 일부인 함수를 호출합니다

함수 자체는 객체 생성자를 호출합니다 하지만 당신은 실제로- 거기에 새로운 일이 일어납니다 그러나 라이브러리 사용자로서의 인터페이스 피치 감지 기능을 호출합니다 그래서 때때로 나는 이것이 P5의 기능 목록이라고 말합니다 대신 이것들은 객체 또는 클래스의 목록입니다

그러나 이것은 실제로 생성자에서 P5 오디오를 호출합니다 괜찮아? 고정 된 것이 있는지 봅시다 좋아, 듣기, 모델로드 유망합니다 그래서 행복했다

주문에 만족하는 것 같습니다 내가 지금하고있는 일 이지요? 예제의 순서는 마이크가 시작되었는지 확인하는 것입니다 그리고로드하십시오 모델 그러나 이것은 그렇게 화난 것처럼 보이지 않습니다 어쩌면 작동 할 것입니다

다음 단계는 무엇입니까? 글쎄, 내가 얻기 위해하고 싶은 것은 이 작업은 피치가 가고있다 숫자, 빈도 값으로 들어갑니다 캔버스에 해당 주파수 값을 그리려고합니다 어떻게 알 수 있습니까? 아마도 콜백이있을 것입니다 콜백 모델이로드되었지만 실제로 그것을 들으라고 말합니다 다시 돌아가서 예제를 볼 수 있지만 살펴 보겠습니다 문서에서

피치는 피치를 얻습니다 여기 콜백이 있습니다 이것이 내가하고 싶은 일입니다 이것은 내가 피치를 요구하는 함수와 같습니다 그리고 무언가를들을 때 콘솔은 그것을 기록합니다

따라서 모델로드 기능 에서이 작업을 수행 할 수 있어야합니다 나는 피치를 얻는다 그런 다음이라는 함수를 작성하겠습니다 내가 이것을하려고 노력하고 있기 때문에 피치를 얻었다 지금은 아주 오래되고 매우 설명적인 방식으로 got pitch라는 별도의 기능이 있습니다 그런 다음 주파수와 같은 인수를받습니다

저는 실제로 그 그림을 그릴 것입니다 아냐, 콘솔 로그 만 해보자 콘솔 로그 빈도 이것을 실행시켜 봅시다 하중을 모델링합니다 (휘청) (노래) La, pitch, frequency 전혀 작동하지 않습니다

이것은 실패입니다 좋아, 이건 작동하지 않아 미디어 스트림 생성을 실행하지 못했습니다 오디오 컨텍스트에서 소스 매개 변수 1은 미디어 스트림 유형이 아닙니다 이것이 문제라는 느낌이 듭니다 내가하던 일을 했어요-지금 순서는- 주문이 문제라고 가정합니다

그러기 전에 마이크가 준비되어 있는지 확인해야합니다 모델로드를 시작하십시오 이런 의미에서 다시 시도해 봅시다 이 주문을 다시 실행 해 봅시다 그래서 마이크 오디오 입력, 마이크 듣기 시작합니다 듣고 있으면 모델을로드합니다

그런 다음 모델이로드되면 피치를 얻습니다 문서를 보면, 피치를 얻으십시오- 오, 오, wo, ,, mp 나는 정말로 중요한 다른 것을 잊었다 나는 이것을 기억할 수 없다 이유를 모르겠습니다

ML5 함수, 콜백은 모두이 스타일로 작성됩니다 오류 우선 콜백이라고합니다 따라서 두 개의 인수를 포함해야합니다 첫 번째는 오류입니다 이를 통해 오류 처리에 대해 생각하게됩니다 실제로 많이 생각하지는 않지만 적어도 ML5입니다

내가 그것을하게하려고합니다 그리고 나는 나는 오류를 확인하는 사람이어야합니다

따라서 오류 빈도가 있어야합니다 그리고 약간의 오류 처리를 할 수 있습니다 예를 들어 error consoleerror 오류 인 경우 말할 수 있습니다 그렇지 않으면 console

log 빈도를 지정하십시오 그리고 저는 실제로 도중에 약간의 불일치 피치 감지 모델은 ML5에서 작동합니다 다른 모든 기능이 식별 된 것 중 하나 그들은 객체를 반환합니다 아마, 그것은 당신에게 찾고자하는 가치, 신뢰 점수를 가지고 있습니다 따라서 아마도 원시 주파수가 없어야합니다

객체 여야합니다 어쩌면 그것은 이미 이미 있고 나는 그것에 대해 틀 렸습니다 한 번 더 실행 해 봅시다 아뇨, 좋아요 뭔가보고 있어요 그래서 이것은 무언가가 나왔음을 약속합니다 오류가 나왔습니까? 아니

오류가 발생한 경우 consoleerror 때문에 빨간색 일 것입니다 빨간색으로 콘솔에 무언가를 인쇄합니다 그래서 주파수가 나왔지만 주파수가 null로 나왔습니다 괜찮아

주파수가 감지되지 않았습니다 나는 소리를 내지 않았다 그리고 더 이상 확인하지 않습니다 더 이상 확인하지 않는 이유 계속 확인하는 것을 모른다는 것입니다 계속 확인하려면 명시 적으로 요청해야합니다

피치를 말해줘 그런 다음 피치가 나오면 기록합니다 그리고 나는 그 피치를 다시 줘 이것은 재귀 적으로 이것을 호출하는 약간의 방법입니다 이것은 일종의 재귀입니다 왜냐하면 정확하게는 아니기 때문입니다

정말 루프입니다 이것을 실행시켜 보겠습니다 우리는 거기에 갈 따라서 주파수를 감지하면 콘솔이이를 기록합니다 그리고 보자

더 높은 주파수, 더 낮은 주파수 더 높은 주파수 우수한 그래서 지금은 더 이상 콘솔에서 이것을보고 싶지 않습니다 변수를 만들고 싶습니다

나는 그것을 freq라고 부를 것입니다 이 값을 0으로 설정하겠습니다 시작하기 그리고 여기, 나는 말할 때마다 만약에 null을 할당하고 싶지 않습니다 주파수, 주파수가 같다면 회수 더 나은 방법으로 null을 설명하고 싶을 수도 있습니다 그런 다음 그리기 기능에서 이것은 불필요하지만 어쨌든이 작업을 수행 할 것입니다

이제 텍스트 정렬 센터를 말하겠습니다 텍스트 빈도, 너비를 2로 나눕니다 높이를 2로 나눈 값입니다 텍스트 중심을 맞추고, 수평 및 수직 중앙에 위치합니다 필자는 255와 텍스트 크기를 채울 것이라고 말하고 64를 좋아합니다

그런 다음 주파수 2를 고정 2로 설정하겠습니다 그래서 소수점 이하 두 자리를보고 싶습니다 이제 이걸 실행 해 봅시다 승인 우쿨렐레 음표는 A, E, C, G입니다

맞습니까? A, E, C, G? 그래서 이것은 A 여야합니다 제가 옳다면 440이어야합니다 이걸로 할 수있는 수학이 있습니다 하지만 여기서도 찾아 볼 수 있습니다 그래, 바로 거기 이것 좀 봐, 심지어 강조 ​​표시되어 있습니다

A4와 같기 때문에 강조 표시 된 것 같습니다 이것이 내가 원하는 주파수입니다 그냥 튜닝하고 싶다고 가정 해 봅시다 A 문자열 만 튜닝하겠습니다 그리고 나머지는 할게요 비디오 또는 당신을 위해 뭔가

A 문자열을 조정하겠습니다 채팅중인 사람들이 지적 톤 제너레이터를 사용할 수도 있습니다 아마도 현명한 아이디어 일 것입니다 지금 바로 그렇게하겠습니다 자, 제안한 채팅에서 Alca에게 감사합니다 이 온라인 톤 제너레이터

비디오 설명에도 링크가 포함됩니다 난 그냥 재생 할거야 그리고 슬라이더를 볼 때 볼 수 있습니다 피치가 거의 일치합니다 피치 감지가 일치합니다 내 말은, 난 말이 엉망이야 생성되는 톤과 일치합니다

이제 완벽하지 않다는 것을 알 수 있습니다 이것은 기계 학습 모델입니다 일부 데이터 세트에 대한 교육을 받았으며 그리고 추측, 예측을하고 있습니다 그것이 생각하는 것의 이것은 100 % 정확한 분석이 아닙니다 아마 수학적으로 할 수 있다고 특히 순수한 톤으로 그러나 이것은 희망적으로 근사치입니다 다양한 종류의 소리로 작업 정확한 피치를 분석하고 꺼내기가 더 어려울 수 있습니다

또한, 내가 무슨 말을하는지 모르겠다 때 소리에 관한 나는 이것을 작동 시키려고 노력하고있다 괜찮아 그래서 지금하고 싶은 것은 시각적 인 지표를 만들 수 있습니다 그래서 여기서 유용한 것은 내가 그리는 것입니다

어쩌면 나는 큰 직사각형을 그려야 할 것입니다 내가 더 작거나 작을 때 아니면 내가 경기장을 넘었을 때 나는 그것을 오른쪽으로 그립니다 아래에 있으면 왼쪽에 그려집니다 어떤 유형의-그리고 나는 당신이 확실하길 바랍니다 훨씬 더 좋고 더 많은 버전을 만들 것입니다

사려 깊은 인터페이스 하지만 이렇게하려면 내가해야 할 모든 것 차이를 같게한다고 주파수, 그 주파수가 마이너스 440을 원합니다 지금은 A 만 튜닝하고 있습니다 A 문자열 만 튜닝하면됩니다 그런 다음 그림을 그리고 싶습니다

수정하자 나는 지금 그것을 흰색으로 만들 것입니다 그 입장은 캔버스의 크기는 얼마입니까? 200, 200, 400, 400 200이 쉼표 50이라고 말하겠습니다 텍스트를 아래로 이동합시다 그리고이 부분을 아래로 옮기겠습니다 그런 다음 너비를 다르게하겠습니다

10을 곱하고 스케일을 조정하고 높이는 50입니다 잠시만 기다려주세요 그리고 톤을 연주하겠습니다 으악 그래서 이것은 실제로 작동합니다

좋은 점은 너비를 음수로 지정하면 그것은 부정적인 것으로 그리는 것 같습니다 사각형을 반대 방향으로 그립니다 실제로 뒤집을 필요는 없습니다 그래서 질문은 10 배는 실제로 꽤 큽니다 실제로 어떤 것도 곱하지 마십시오

이러한 차이점이 무엇인지 생각해 봅시다 500이면 맞습니다 60 픽셀이 적당합니다 내가 놀자 그래서 사각형이 보이지 않습니다

직사각형이 조금 있습니다 말하는 것은 다른 그림을 얻기 때문에 엉망입니다 내 목소리의 하지만 지금 당장 할 수도 있어요 나는 이것에 대해 조금 더 사려 깊은 수 그리고 나는- 금액이지도와 같다고 말할 수 있습니다 100 사이의 차이 10에서 100 사이에서 0에서 1 사이의 값으로 설정합니다 내가 이것을하는 이유는 lerpColor 함수를 사용할 수 있습니다

제가 빨간색을 가지고 있다고하겠습니다 25500이고 02550 인 녹색이 있습니다 내가하고 싶은 것은 끝날 때입니다 나는 실제를 얻고 싶다 실제 색상을 lerpColor로 설정하고 싶습니다

lerpColor는 두 가지 사이에 선형 보간을 제공합니다 빨강과 녹색과 같은 색상 아, 이것은 실제로 내가하고 싶은 것이 아닙니다 중앙에 있으면 초록색이되고 싶습니다 사실, 절대 값을 매핑하고 싶습니다 차이의

차이의 절대 값을 매핑하고 싶습니다 그리고 이것은 지금 0과 100 사이에서 훨씬 더 쉽습니다 그리고 나는- 0이면 완벽하게 녹색입니다 100이면 빨간색입니다 그리고 이것이 실제로 제대로 보일지 모르겠습니다

하지만 한번 해봅시다 (명음) 우쿨렐레를 조정하려고하면 여기에서 볼 수 있습니다 (동조) 이것을 다시 A4로 만들어 봅시다 (동조) 예, lerpColor를 사용하지 마십시오 lerpColor가 흥미로운 아이디어라고 생각합니다

그리고 실제로는 채우기 또는 낮음-이 작업을 수행하는 훨씬 더 좋은 방법이 있습니다 우리는 간다 여기 내 인터페이스가 있습니다 나는 이것에 매우 열심히 일했다 나는 지금 소리를 낼거야 그것을 조정하려고합니다

그리고 거기에 가면 저는 세 가지 주파수 값 안에있게하겠습니다 나는 또한 이것을 말할 것입니다 자동 새로 고침은 끔찍한 아이디어였습니다 02550을 채 웁니다 알았어, 준비? 이 우쿨렐레를 조정합시다

(동조) 다섯이 너무 큽니다 임계 값을 하나로합시다 (동조) 우쿨렐레 튜너가 있습니다 당신은 그것이 올바른 메모가 아님을 알 수 있습니다 그래서 많은 것들을 생각할 필요가 있습니다

우선, 그것은 제대로 들리지 않습니다 이것은 훨씬 더 나은 튜닝 방법이 될 것입니다 (동조) 아, 실제로 그렇게 나쁘지 않습니다 생각보다 낫습니다 이제 정말 빨리하고 싶은 일 실제로이 하나의 스케치에서 네 가지를 모두 조정할 수 있습니다

문자열의 이 비디오는 지금 막지 말아야합니다 더 이상 가야하지만 이것을하고 싶습니다 너무 많은 것이 필요합니다 [음악 재생] 그리고 당신은 그렇게 할 것입니다 또한 이것의 버전을 만들 것입니다 실제적이고 사려 깊은 인터페이스로 조율사 노트의 배열을 만들어 봅시다

그리고 많은 객체를 만들 것입니다 그리고 각 물체에는 메모와 빈도가 있습니다 예를 들어, 참고는 A이고 주파수는 440입니다 내가 왜 그 모든 일을했는지 ​​모르겠어요 이것을하고 싶다 우쿨렐레에는 4 개의 현이 있습니다

A, E, C, G가 있습니다 그 주파수를 찾으십시오 그래서 지금하고 싶은 것은 무엇을 튜닝하고 있는지 알고 싶습니다 우선, 이것은 끔찍합니다 내가 작성한이 코드를 견딜 수 없습니다

적어도 이것을 조금 더 좋게 만들어 봅시다 임계 값이라는 변수를 만들어 봅시다 그리고 다시, 나는 매핑 또는 무엇이든해야합니다 그 임계 값을 하나 만들어 봅시다 그리고 적어도 우리가 알 수 있도록 거기에 두겠습니다

그리고 다시, 내가 우스운 일이다 이 if 문을 두 곳에두면 좋지만 괜찮습니다 하지만 가장 먼저해야 할 일은 실제로 어떤 메모를 알아 나는 그것을 비교하려고합니다 그리고 나는 자동으로 그렇게하고 싶습니다 그래서 나는 실제로 어떤 문자열을 모른다 내가 미친 컴퓨터 비전을하지 않으면 나는 놀고있다 하지만 난 그냥 좋아 할거야 가장 가까운 메모를 찾아서 조정하십시오 제가 여기서하고 싶은 것은 루프를하는 것입니다

모든 노트를 통해 그리고 가장 가까운 것을 찾을 것입니다 note는 0과 같은 색인입니다 그리고 저는 지금 바로 1을 말할 것입니다 그리고 레코드 차이는 무한대로 시작하겠습니다 그런 다음에 차이점은 notesindexi

frequency, 실제 주파수 빼기 그리고 나는 일종의 멋진 고차를 할 수 있다고 확신합니다 배열 함수,하지만이 방법으로 수행하겠습니다 차이가 레코드 차이보다 작 으면 가장 가까운 쪽지는 i입니다 그리고 나서 일단 그 작업을 수행하면 가장 가까운 메모를합니다

자 이제 그 차이를 유지하겠습니다 아, 나는 기록적인 차이가 있습니다 차이는 레코드 차이와 같습니다 그리고 그것은 절대 가치입니다 죄송합니다

절대 가치가 있어야합니다 항상 그 절대 가치가 있어야합니다 그리고 실제 메모 자체는 이 변수 이름을 사용할 수 있습니까? 노트 인덱스 가장 가까운 노트입니다 난 그냥 색인을 저장할 필요가 없습니다 객체를 저장할 수있었습니다 하지만 그래, 개체를 저장하자, notesindexi 색인을 저장할 필요가 없습니다

그리고 가장 가까운 메모입니다 그리고 제가하고있는 일은 가치를 보여주는 것입니다 그런 다음 이 값을 여기에 그리는 대신 실제로 화면에 메모를 남기고 싶습니다 또한 어디에서 할 수 있습니까? 실제로 그 차이를 어디에서 이끌어 내나요? 아, 여기 텍스트가 있습니다 이걸 훨씬 작게 만들겠습니다 그리고 나도 여기서 말하겠습니다

텍스트 크기는 64입니다 나는 closestnotenote를 말할 것입니다 그리고 이것은 150 픽셀을 올려 놓고 50은 픽셀 업 그것이 무엇을하는지 보자

큰 이제 모든 현을 조율 할 수 있어야합니다 여기에서 감지해야합니다 (동조) 작동하지 않습니다 그렇다면 왜 정보가 제공되지 않습니까? 이것을 디버깅해야합니다

아, 내가 안했는지 알아? 나는 명백한 것을 놓치고있다 레코드 차이를 설정하는 것을 잊었습니다 그 차이와 같습니다 글쎄 좋아, 여기 간다 그래서 내 A는 꽤 조정되었습니다 (동조) 아, 난 최악이야 절대 값을 여기에 넣겠습니다 그리고 나는이 실수를하지 않습니다

차이가있는 경우-이 값도 절대 값이어야합니다 확실히 문제입니다 좋아, 여기에 우리 모두가 간다 나는 이것이 지금 좋다고 생각한다 (동조) A입니다

부정적인 차이가 필요합니다 아, 여기 필요해 모두들 좋아 모든 것이 잘 될 것입니다 기록을 얻을 때 가장 작은 것을 원합니다 근데 여기서 사용하면 그것이 부정적이거나 중요하지 않은 경우, 그렇지 않습니까? 아니요, 나는 모든 곳에서 절대 값을 사용하고 있습니다 아, 어디 있는지를 제외하고

이것은 어떤가요? 어떻게에 대한? 응? 어떻게에 대한? 차이의 절대 값이 레코드 차이의 절대 값보다 작습니다 기록적인 차이는 있지만 아래에서 사용하려면 네거티브를 참조하십시오 (동조) 더 많은 움직임을보고 싶습니다 그렇다면이 나누기는 10으로 어디에 있습니까? 휴식 좀 줘 두 사람으로 나눈다 (동조) 으악, 잘못된 문자열

(동조) 이것은 나의 첫 번째 코딩 과제였습니다 여기 새 코딩 트레인 스튜디오에서 브루클린의 뉴욕 대학교에서 우쿨렐레 튜너를 만들었고 최악의 인터페이스를 가지고 있습니다 우쿨렐레 튜너의 경우 여기에 너겟이 있습니다 피치 감지 모델이 어떻게 작동하는지 보는 것이 좋습니다 당신이 이것의 당신의 자신의 버전을 만들었다면 나는 그것을 좋아할 것입니다

codingtraincom으로 이동할 수 있습니다 이 코딩 문제에 대한 페이지를 찾으십시오 직접 제출 지침을 확인하십시오 나는 실제로 그것을하는 방법에 대한 비디오 자습서

자신 만의 우쿨렐레 튜너를 만들면 그리고 당신은 웹에 넣어, 나는이 우쿨렐레를 조정합니다 다음 라이브 스트림에서 시청 해 주셔서 감사합니다 그리고 미래의 코딩 챌린지에서 see겠습니다 안녕 [음악 재생]

Deep learning with ML.NET: Image Classification | ML.NET [8 of 8]

>>이 비디오에서 우리는 살펴볼 것입니다 딥 러닝 지원 이미지 분류 모델을 작성하여 MLNET ML

NET을 통한 딥 러닝으로 개발자는 기계 학습을 통해 소리, 비전, 텍스트, 자연어 처리 및 그 이상인 NLP 이제 딥 러닝을 사용하여 소리를 분류하거나 이해할 수 있습니다 음악을 분류하고 음악이나 음악 노트를 예측할 수 있습니다 당신은 비전을 이해할 수 있습니다 이미지를 분류하거나 물체를 감지 할 수 있습니다 온라인 카탈로그를 작성하려는 경우 재고 관리가 훨씬 쉬워졌습니다 텍스트도 이해할 수 있습니다 시맨틱을 할 수 있습니다

또는 분석하거나 엔티티 인식을 수행 할 수 있습니다 감정 분석을하거나 또는 가격 예측을 할 수 있습니다 문서를 분류하거나 기계도 배울 수 있습니다 딥 러닝은 큰 세트를 열었습니다 이전에는 불가능했던 시나리오 이미지 분류는 딥 러닝의 매우 인기있는 예입니다 간단히 말해 이미지 분류는 이미지를 하나 이상의 범주로 분류 할 수 있습니다 이 예에서 우리가하고있는 것은 분류하는 것입니다

이미지 여부에 이미지 꽃이고 우리는 꽃의 종류를 분류하고 있습니다 데이지인지, 장미인지, 튤립인지 딥 러닝으로 모델을 구축하는 방법은 훈련 데이터 인 입력 데이터가 있습니다 폴더에 레이블이 붙은 이미지가 많이 있습니다 우리는이 모든 이미지를 먹입니다 커스텀 모델을 훈련시키는 훈련 과정으로 당신을 위해 당신이 예측하는 데 사용할 수있는 특정 이미지가 속한 꽃의 카테고리 우리가 어떻게 할 수 있는지에 대한 예를 보자 이미지 분류를위한 사용자 정의 모델을 빌드하십시오 이것은 내가 할 콘솔 응용 프로그램입니다 이 머신 러닝 모델 또는이 딥 러닝 모델을 구축하십시오

여기에있는 것은 내가있는 데이터 세트입니다 가서 무리를 캡처 꽃 이미지와 각 꽃 유형으로 분류했습니다 여기에 데이지 폴더가 있습니다 데이지 꽃의 모든 사진 다음은 민들레 사진이 모두 포함 된 민들레 사진입니다 폴더 사진은 다음과 같습니다

모든 장미 그림이있는 장미 이 예제에서 우리가하려고하는 것은 이 데이터 세트에서 모델을 학습시킵니다 그래서 그것은 무엇의 모든 특성을 이해할 것입니다 이 꽃을 데이지 꽃으로 만들고 다음에 훈련 된 모델을 사용하겠습니다 꽃 유형이 무엇인지 예측하기위한 완전히 새로운 데이터 ML

NET 여정에서 배웠 듯이 첫 번째 단계는 ML 컨텍스트를 만드는 것입니다 따라서 컨텍스트를 만들 수 있습니다 두 번째 단계는 이미지를로드하는 것입니다 여기에 모든 이미지를로드합니다 방금이 꽃 사진 폴더에서 보여 드렸습니다

다음 단계는 선택하는 것입니다 알고리즘과 라벨 지정 열 또는 예측할 열입니다 이 경우 내가하고있는 일은 레이블 키는 기본적으로 이미지 경로입니다 또는 폴더 이름과 내가 갈 모델 선택하는 것은 공명 모델입니다 이 경우에 저는 내가 사용하는 곳에서 편입 학습 이 사전 구축 모델 나만의 시나리오를위한 모델을 만드는 생태계

이 파이프 라인을 정의하면 계속해서 전화 할 수있어 이 모델을 훈련시킬 피트니스 모델을 평가할 수 있습니다 메트릭을 인쇄하여 모델의 정확도는 어떻습니까? 마지막 단계는 모델을 시도하는 것입니다 예측 엔진을 만든 다음 내가 이미지 중 하나에 예측 함수를 호출 이미지에 예측 폴더가 있습니다 계속해서이 앱을 실행 한 다음 모델이 어떻게 작동하는지 봅시다 훈련되고 테스트 데이터 세트에서 어떻게 수행됩니까? 계속해서이 응용 프로그램을 시작하겠습니다 훈련 과정에서 어떤 일이 벌어지고 있는지 이 프로그램은 모든 이미지를 촬영하고 있으며 에서 모든 기능 추출 모든 이미지가 실행되면 프로세스 종료시 분류 알고리즘 이 모든 이미지를 여러 범주 중 하나로 분류하십시오 지금까지 일어난 일은 지금 훈련 과정은 마무리하고 출력 메트릭을 얻습니다

여기서 모델의 정확도는 유용한 가이드와 함께 83 % 하나에 가까울수록 더 좋습니다 여기 보이는 것은 일부 이미지에서 모델이 실행 된 것입니다 이 경우 모델도 실행되었습니다 장미처럼 보이는이 희귀 한 꽃 사진입니다 그런 다음 모델의 출력 또는 예측은 신뢰 수준 또는 정확도 수준 장미의 62 %

우리가 여기서 찾은 것은 사용할 프로그램 심상 학습은 이미지 분류 모델을 훈련시킵니다 이것으로 MLNET 시리즈를 마칩니다 나는 당신이 많은 것을 배우기를 바랍니다 기계 학습 및 흥분 앱에서 기계 학습을 사용하십시오 다른 시리즈를 확인하십시오 C #

NET, ASPNET 등

BigQuery ML: Machine Learning with Standard SQL (AI Adventures)

YUFENG GUO : 모든 사람이 SQL을 사용하는 것은 아니지만 그렇게하면 머신 러닝을 사용하는 것이 좋지 않을까요 SQL 환경 내에서? BigQuery ML은 바로 그렇게합니다 방법을 찾으십시오

AI Adventures에 오신 것을 환영합니다 예술, 과학, 기계 학습 도구 제 이름은 Yufeng Guo이며이 에피소드에서 BigQuery ML을 사용해 보겠습니다 당신이 만들고 실행할 수 있습니다 BigQuery의 기계 학습 모델 표준 SQL 쿼리를 사용합니다 현재 BigQuery ML 또는 BQML은 선형 회귀, 이항 로지스틱 회귀, 그리고 다중 클래스 로지스틱 회귀

선형 회귀는 보험료 나 주택과 같은 수치를 예측 값 이항 로지스틱 회귀 분석은 모형입니다 두 클래스 중 하나를 예측합니다 기계가 필요한지 식별하는 것과 같은 유지 보수 작업, 예 또는 아니요 또는 아마도 이미지가 고양이인지 개인 지 더 유명합니다 멀티 클래스 로지스틱 회귀 분석은 두 개 이상의 클래스를 예측 예를 들어, 구매, 보유 또는 판매 여부 주식, 또는 고속도로 교통량 가벼운, 중간, 무거운 또는 주차장입니다 실제로 BQML이 어떻게 보이는지 봅시다

BigQuery UI를 통해 액세스 할 수 있습니다 또는 명령 행과 API를 통해 오늘은 BigQuery UI에서 살펴 보겠습니다 하지만 우리가 사용할 검색어는 명령 행 또는 API Google 웹 로그 분석에서 가져온 일부 샘플 데이터가 있습니다

BigQuery 공개 데이터 세트에서 BigQuery 공개 데이터 세트에 대한 에피소드를 만들었습니다 잠시 후 프로그램을 확인하십시오 모든 공개 데이터 세트에 대한 자세한 내용은 당신이 사용할 무료입니다 이제 오늘 데이터 세트를 살펴 보겠습니다 우리는 구체적으로 여부를보고 있습니다 거래가 발생했습니다

그것이 우리가 나중에 예측하려고하는 것입니다 이제 이러한 예측을 바탕으로 무엇을 할 것입니까? 우리는 사용자 장치의 운영 체제를 가지고 있습니다 휴대 기기이든 아니든 원산지 국가, 사용자가 수행 한 페이지 조회수 마지막 열에 느낌이 있습니다 아마 꽤 유용 할 것입니다 또한이 샘플 데이터에서 데이터를 가져옵니다

2016 년 8 월부터 2017 년 6 월 사이에 설정됩니다 좋아요, 모델을 만들어 보도록하겠습니다 이러한 기준에 따라 예측을 할 수 있다면 이 열에 모델 생성 문을 추가하겠습니다 테이블 이름과 함께 상단에 샘플 이름을 입력하십시오 샘플 모델 만 말하면됩니다 그리고 우리는 우리가 있다는 사실을 포함하여 몇 가지 옵션을 전달할 것입니다

로지스틱 회귀 분석 그래서 우리는 단지 예 또는 아니오라고 말할 것입니다 거래 발생 여부에 관계없이 두 가지 옵션 중 하나입니다 나는 그것을 SELECT 문의 맨 위에 놓을 것이다 그리고 그것은 당신이 할 유일한 편집입니다 검색어를 모델로 전환해야합니다 지금, 그 동안 달리고 싶습니다 첫 번째 열의 별칭이 거래의 라벨로 부르기 위해 우연의 일치가 아니었다

BQML은 특히 label이라는 열을 찾습니다 예측하려는 열을 파악할 수 있습니다 입력으로 원하는 열입니다 label이라는 열을 만들지 않으려면 어떤 이유로 또는 실제로 label이라는 열이있는 경우 이 라벨을 사용하고 싶지 않다면 입력 레이블 호출 옵션을 설정할 수 있습니다 모델 작성 문에서 대신 열 트랜잭션을 호출한다고 가정 해 보겠습니다

레이블이라는 열이 없었습니다 그런 다음 이런 식으로 할 수 있습니다 우리는 이름 거래를 통과 라벨로 찾을 열로 BQML에서 정말 유용한 것은 활용하기 위해 데이터를 어디로 옮길 필요가 없습니다 BigQuery에 내장되어 있기 때문에 이것은 정말 쉬운 방법으로 사용할 수 있음을 의미합니다 데이터에서 주목할만한 패턴을 먼저 살펴보십시오 모델이 훈련을 시작하면 원하는 경우 훈련 통계를 확인할 수 있습니다 왼쪽 패널에서 모델을 클릭하십시오 아래의 모델 통계 탭으로 이동하십시오

기차 진행 상황을 볼 수 있습니다 데이터 세트를 통해 작동하고 모델을 개선함에 따라 각 패스와 성능 이제 모델 작성 명령문 실행이 완료되면 MLEVALUATE를 사용하여 평가를 실행할 때입니다 데이터에 대한 원래 SQL 쿼리를 가져옵니다 ML

EVALUATE로 포장하여 포장 새로 생성 된 모델에서 그 결과에서 당신은 포함하는 출력을 얻을 것이다 모델의 다양한 측정 항목 실제로 쿼리했습니다 훈련 데이터 범위를 벗어난 날짜 구체적으로 말하면 날짜 바로 다음 달입니다 우리가 훈련하는 데 사용합니다 우리는 훈련 데이터를 전달하고 싶지 않습니다 평가를 위해 시험에서 부정 행위하는 것처럼 마지막으로 Predict를 실행할 차례입니다

여기서는 평가 중에 사용한 것과 동일한 쿼리를 래핑합니다 MLPREDICT 함수로 모델을 전달하십시오 이 특정 예측 그룹 우리가 그들의 예측이 무엇인지 볼 수 있도록 국가를 각 국가별로 순위가 매겨졌습니다 또한이 특정 데이터 세트의 경우 대부분의 거래는 미국에서 왔으며 더 깊은 곳에서 다이빙 할 가치가 있지만 모바일 장치에서 이러한 기능이 어떻게 일치하는지 확인 그리고 다른 운영 체제

간단히 말해 BigQuery ML은 간단합니다 머신 러닝을 쉽게하기 위해 SQL 환경 내에서 어떤 모델을 만들지 기대됩니다 Cloud AI Adventures 에피소드를 시청 해 주셔서 감사합니다 그리고 당신이 그것을 즐겼다면, 반드시 Like 버튼을 누르십시오

최신 업데이트를 모두 받으려면 구독하십시오 그들이 나올 때 지금은 BigQuery ML을 확인하고 구축을 시작하십시오 오늘 첫 모델입니다

SAS Demo | Deep Learning with Python (DLPy) and SAS Viya for Computer Vision

안녕하세요, 저는 Susan Kahler이고 인공 지능과 기계 학습에 대한 책임이 있습니다 SAS에서

이 비디오에서는 SAS Deep Learning Python API 또는 DLPy에 대해 간략하게 설명합니다 이 시리즈는 DLPy가 지원하는 최신 컴퓨터 비전 모델에 중점을 둘 것입니다 DLPy를 통해 Python에 익숙한 데이터 과학자는 딥 러닝을 활용할 수 있습니다 SAS Viya의 컴퓨터 비전 기능 설명의 링크를 사용하여 주제로 직접 이동하십시오

첫 번째 섹션에서는 DLPy와 함께 Functional API를 활용하여 빌드하는 방법을 살펴 봅니다 ResNet 모델을 포함한 기능 추출을위한 복잡한 모델 다음으로 축구를 추적하기 위해 U-Net 모델을 사용하여 이미지 세분화를 수행하는 방법을 살펴 보겠습니다 선수 그런 다음 DLPY가 VGG16을 백본으로 사용하여 Faster R-CNN을 사용하여 객체 감지를 지원하는 방법을 살펴 보겠습니다 회로망

스위칭 기어, DLPy가 어떻게 MobileNet 및 ShuffleNet을 지원하고 성능을 비교하는지 살펴 보겠습니다 ResNet50 모델이있는 모델 중 하나입니다 마지막으로 훈련과 추론 모두에서 멀티 태스킹 학습이 수행되는 방법을 살펴 보겠습니다 제품 권장 사항에 대해서는 소매 도메인에서 추론을 위해 Python 용 이벤트 스트림 처리 패키지 인 SAS ESPPy를 사용합니다 DLPy에는 Python 3 이상 및 SAS Viya 34가 필요합니다

또한 Analytics 전송을위한 SAS 스크립팅 래퍼 또는 SWAT 패키지가 필요합니다 DLPy는 python-dlpy 디렉토리의 SAS 소프트웨어 용 GitHub에서 사용할 수 있습니다 이 비디오에 실린 Jupyter 노트북도 해당 위치에 있습니다 DLPy의 최신 컴퓨터 비전 기능에 대해 배우고 즐기시기 바랍니다 스스로를 위해

안녕하세요, 저는 SAS의 데이터 과학자 인 Wenyu이며 딥 러닝과 컴퓨터에 중점을 둡니다 비전 API 이 비디오에서는 고급 Python API, Python을 사용한 SAS Deep Learning 또는 (DLPy) 이 비디오의 목적은 SAS에서 기능적 API를 활용하는 방법을 보여주는 것입니다 복잡한 모델을 만들기위한 DLPy 보다 유연한 방법을 제공하기 때문에 Functional API에 중점을두고 있습니다

Keras Functional API와 매우 유사한 복잡한 모델을 구현하십시오 Sequential API는 공유 모델을 만들 수 없다는 점에서 제한적입니다 레이어 또는 여러 입력 또는 출력이 있습니다 입력 및 출력이 여러 개인 모델이 Functional API를 사용하는 좋은 예입니다 간단한 6 단계로 SAS DLPy를 사용하여 모델을 생성 해 봅시다

텐서를 반환하는 Input ()에 의해 두 개의 텐서 (회색조 이미지와 RGB 이미지)를 정의합니다 목적 그런 다음 그레이 스케일 이미지가 두 개의 컨볼 루션 브랜치에 공급됩니다 이 모델에는 또 다른 입력 컬러 이미지가 있습니다 그런 다음 이미지의 특징을 추출하기 위해 컨벌루션 연산이 사용됩니다

세 개의 텐서가 연결되고 OutputLayer_1에서 분류를 계산하는 데 사용됩니다 손실 또한 모델은 OutputLayer_2를 통해 감독됩니다 그런 다음 정의 된 입력 텐서 및 출력 텐서를 Model () 함수에 전달합니다 마지막으로 compile ()을 호출하여 네트워크를 컴파일합니다

여기서는 모델의 요약과 네트워크 그래프를 보여줍니다 레이어 연결 이 다음 모델에서는 ResNet 유사 모델을 작성하는 방법을 고려하십시오 이 작업에서는 돌고래 또는 기린을 포함하는지 여부에 따라 이미지를 분류합니다 먼저 각각의 직후에 배치 정규화를 채택하는 회선 블록을 정의합니다

회선 다음으로, 나머지 블록 내에서 바로 가기 연결을 사용하여 입력 기능을 연결합니다 컨볼 루션의 출력에 4 개의 누적 잔차 블록이 있으며 네트워크는 전체 평균 풀링으로 끝납니다 다음은 순차적으로 누적 된 4 개의 잔차 블록과 전역 평균을 보여주는 모델의 그래프입니다 풀링

모델이 빌드되면 ImageTable API에 의해 데이터가로드되고 모델을 학습 할 수 있습니다 순차적 인 모델처럼 SAS DLPy API를 사용하면 사전 훈련 된 여러 출력 모델을보다 쉽게 ​​정의 할 수 있습니다 기능 추출기로서의 백본 다음 경우에는 가중치와 함께 ResNet18 모델을로드합니다 다음으로로드 된 모델을 기능 모델로 변환하고 원래 작업 계층을 삭제합니다 이를 위해 to_functional_model ()을 사용하고 stop_layers를 지정합니다

그래프 이동을 중지하는 레이어 즉, stop_layers와 stop_layers가 뒤에 오는 모든 레이어가 제거됩니다 기능적 모델 그런 다음 OutputLayer와 Keypoints Layer라는 두 가지 새로운 작업 계층을 추가합니다 그래프 하단에서 새로 추가 된 두 개의 레이어를 볼 수 있습니다

이 비디오에서는 DLPy를 사용하여 여러 입력 및 출력을 가진 모델을 만든 다음 ResNet과 유사한 모델이며 마지막으로 순차 모델을 기능 모델로 변환했습니다 시청 해주셔서 감사합니다 안녕하세요, 저는 Maggie Du이고 SAS의 기계 학습 개발자이며 딥 러닝 및 컴퓨터 비전 API 이 비디오에서는 DLPy라고하는 SAS 고급 딥 러닝 Python API를 사용하여 게임에서 축구 선수를 추적하는 이미지 분할 문제를 해결하는 방법을 보여줍니다 각 플레이어에 대한 통계를 제공합니다

코치에 의한 경기 후 분석과 같은 여러 목적으로 통계를 사용할 수 있습니다 팬들에게 증강 게임 시청 경험을 제공합니다 이미지 분할은 이미지를 의미 적으로 의미있는 부분으로 분할하려고 시도합니다 각 부분을 사전 정의 된 레이블 중 하나로 분류합니다 따라서 픽셀 수준에서 이미지를 이해하는 새로운 방법입니다

예를 들어이 이미지에는 개, 고양이 및 배경의 세 가지 클래스가 있습니다 따라서 우리는 각 픽셀에 어떤 클래스가 속하는지를 나타내는 특정 색상을 부여합니다 전반적으로 각 객체의 정확한 경계를 얻을 수 있습니다 시작하자 필요한 모듈을로드 한 후 데이터 세트를로드하려고합니다

우리는 축구 경기의 이미지를 예로 들어 170 이미지가 포함 된 모두 256 * 256으로 조정되었습니다 다음은 원시 이미지와 해당 주석의 시각화입니다 이미지에는 축구 선수, 축구 공 및 배경의 세 가지 다른 객체가 있습니다 따라서 주석 이미지에는 세 가지 색상이 포함됩니다 그런 다음 데이터 세트를 학습 데이터, 유효성 검사 데이터 및 테스트 데이터로 무작위로 나눕니다

다음으로 SAS DLPy를 사용하여 U-Net 모델을 구축하려고합니다 이 대칭 모델은 인코딩과 디코딩의 두 부분으로 볼 수 있습니다 기능 크기가 가장 작은 레이어 인 병목 현상 레이어로 분할됩니다 인코딩 부분에서 풀링 레이어를 사용하여 다운 샘플링을 수행하여 기능을 추출합니다 디코딩에서 입력 컨볼 루션 레이어를 사용하여 입력 이미지에서 업 샘플링 학습 된 정보를 재구성하는 부분

또한 텐서를 직접 결합하는 4 개의 연결 레이어를 모델에 추가했습니다 두 개의 다른 레이어에서 이전의 특정 정보를 쉽게 상속받을 수 있습니다 층 SAS DLPy는 사전 정의 된 U-Net 모델을로드하는 기능을 제공합니다 인코딩을위한 4 개의 풀링 계층 및 디코딩을위한 4 개의 전치 컨볼 루션 계층

축구 경기 데이터 모델에는 3 천 4 백만 개가 넘는 매개 변수가 포함되어 있습니다 SAS DLPy API를 사용하여 계층별로 고유 한 U-Net 모델을 만들 수도 있습니다 병목 현상 레이어의 크기 및 컨볼 루션 수와 같은 기능을 쉽게 결정할 수 있습니다 두 풀링 레이어 사이에 원하는 레이어 아키텍처가 구축되면 교육 데이터를 사용하여 모델을 교육하고 유효성을 검사 할 수 있습니다 검증 데이터 사용

교육이 완료된 후 테스트 데이터를 사용하여 모델의 성능을 테스트 할 수 있습니다 새로운 이미지를 수행합니다 스코어링 메트릭을 확인하거나 예측을 직접 시각화 할 수 있습니다 이 예에서 잘못된 분류 비율은 056 %로 65,536 픽셀 중 약 360 픽셀 만 잘못 레이블이 지정됩니다 두 번째 방법은 간단합니다

여기에 원시 이미지, 주석 및 예측을 나란히 놓고 모델의 성능을 확인하기 위해 모든 것을 쉽게 비교할 수 있습니다 첫 번째 열에는 원시 이미지가 표시되고 가운데 열에는 실제 이미지가 표시됩니다 세 번째 열의 이미지는 예측에서 얻습니다 마지막 두 열 사이에는 약간의 차이 만 있습니다 이는 U-Net 모델을 의미합니다

이 데이터에 매우 효과적이었습니다 이 비디오에서는 SAS DLPy를 사용하여 이미지 세분화 모델을 신속하게 구축하고 이 모델에 대한 교육 및 스코어링 방법 SAS DLPy에는 훨씬 더 많은 기능이 포함되어 있으므로 향후 사용 사례 시청 해주셔서 감사합니다! 안녕하세요, 제 이름은 Xindian Long이고 컴퓨터 비전을위한 딥 러닝 알고리즘을 개발합니다 YOLO, Faster R-CNN, Mask R-CNN 등 SAS Deep Learning for Python (또는 DLPy)은 고급 Python과 함께 제공됩니다 사용자가 이러한 기능을 사용할 수 있도록하는 API

현재 그림 1과 같이 주로 물체 감지 방법에는 두 가지 유형이 있습니다 첫 번째 방법은 단일 단계 방법입니다 이 유형의 방법에서 경계 상자 지역화 및 객체 분류는 하나에서 수행됩니다 단계 YOLO, SSD와 같은 알고리즘이이 범주에 속합니다

두 번째 방법은 다단계 방법입니다 여기에는 두 가지 단계가 있습니다 첫 번째 단계에서 지역 제안 네트워크는 관심있는 직사각형 지역을 찾는 것입니다 객체를 포함 할 가능성이 높은 (또는 ROI) 두 번째 단계에서는 추가 회귀 및 분류를 수행하여 실제로 해당 지역에 개체가 있으며, 그렇다면 범주와 정확한 위치 그리고 모양입니다 Faster R-CNN, R-FCN과 같은 알고리즘이이 범주에 속합니다

첫 번째 범주의 알고리즘은 일반적으로 두 번째 범주의 알고리즘보다 빠릅니다 예를 들어 실시간 성능이 필요한 응용 프로그램이있는 경우 YOLO는 아마도 좋은 선택 Faster R-CNN과 같은 두 번째 범주의 알고리즘은 일반적으로 더 정확합니다 “Faster R-CNN”이라는 이름이 언급 된 다른 알고리즘보다 더 빠르게 실행되는 것은 아닙니다 이리

R-CNN 및 Fast R-CNN 알고리즘보다 이전 버전보다 훨씬 빠릅니다 그림 2는 앵커 박스의 중요한 개념을 보여줍니다 그들은 객체에 사용됩니다 YOLO와 Faster R-CNN의 탐지 알고리즘 이 개념을 이해하는 것이 매우 중요합니다 앵커 상자는 이미지의 여러 위치에있는 추상 상자이며 일반적으로 그리드 패턴

사전 정의 된 모양으로 사전 설정된 개수의 경계 상자를 예측하는 데 사용됩니다 각 위치에서 앵커 상자는 예측 된 위치의 초기 값으로 사용됩니다 모양에 따라 개체 크기 / 모양에 대한 사전 지식이 포함되어 있습니다 그림 2의 이미지에서이 한 위치에 많은 앵커 박스가 있음을 알 수 있습니다 상자마다 모양이 다른 물체를 감지합니다

예를 들어이 이미지에서 빨간색 앵커 상자는 사람을 감지하는 상자입니다 물론 최종적으로 감지 된 물체 모양은 원래 물체와 약간 다를 수 있습니다 알고리즘이 최적화하기 때문에 앵커 박스의 모양 그림 3은 Faster R-CNN 네트워크 아키텍처를 보여줍니다 DLPy를 사용하면 계층별로 구축 할 필요가 없습니다 알고리즘 이해를 돕기 위해 그것에 대해 이야기하고 있습니다

그것의 첫 번째 부분은 백본 네트워크입니다 백본 네트워크에는 일반적으로 많은 회선 레이어와 풀링 레이어가 포함되어 있습니다 입력 이미지에서 기능 맵을 추출합니다 널리 사용되는 백본 네트워크에는 VGG16, ShuffleNet 또는 ResNet 등이 있습니다 응용 프로그램 및 요구 사항에 따라 선택할 수 있습니다

지역 제안 네트워크는 백본 네트워크를 따릅니다 지역 제안 네트워크는 많은 제안 된 관심 지역을 출력합니다 개체를 포함 할 가능성이 높은 창입니다 지역 제안 네트워크는 지역 이전에 두 개의 특수한 컨볼 루션 레이어로 구성됩니다 제안서 계층

지역 제안서 레이어에 대해 사용자가 지정해야하는 중요한 매개 변수는 앵커 박스는 제안 될 수있는 형태의 범위를 대략 결정합니다 그 후에는 ROI 풀링 레이어입니다 관심 영역을 백본 네트워크 출력 인 페더 맵에 매핑합니다 창 내부의 픽셀 값을 추출하고 다른 크기의 하위 이미지를 형성합니다 ROI 풀링 레이어는 모든 하위 이미지의 크기를 같은 크기로 조정합니다

이것은 기능 맵의 모든 채널에 대해 수행됩니다 따라서 각 ROI마다 3D 데이터 배열을 얻습니다이를 텐서라고합니다 ROI 풀링 레이어의 출력에는 제안 된 각 영역마다 하나씩 많은 텐서가 포함됩니다 관심의

네트워크의 마지막 부분은 각 텐서와 ROI에서 독립적으로 작동하며 하나를 만듭니다 각 ROI에 대한 결정 세트 먼저, 두 개의 완전 연결된 레이어가 있으며 분류간에 공유됩니다 그리고 경계 상자 회귀 그런 다음 분류 헤더와 경계 상자 회귀 헤더가 있으며 각 헤더 앞에 하나의 완전히 연결된 레이어로 각각

우리 시스템에서 분류 헤더와 바운딩 박스 회귀 헤더는 모두 FastRCNN 계층에서 구현됩니다 빠른 R-CNN 네트워크 아키텍처에 대한 간략한 소개와 알고리즘의 방법 공장 이제 노트북을 볼 수 있습니다 먼저 CAS 서버에 연결합니다 조치 세트를로드하십시오

그리고 CAS 라이브러리를 빌드하십시오 그런 다음 DLPy 함수를 호출하여 앞에서 설명한 모델 아키텍처를 빌드해야합니다 Faster_RCNN 그런 다음 데이터 세트를로드하고 훈련 세트와 데이터 세트로 분할합니다 여기서 데이터 셋과 라벨을 그래픽으로 시각화하고 이미지와 경계를 볼 수 있습니다 상자 및 레이블

네트워크 교육을 위해 사전 훈련 된 가중치를로드하고 대상 열을 정의한 다음 가중치를 계속 최적화하려면 fit 함수를 호출하십시오 그런 다음 predict 함수를 호출하여 객체 위치와 범주를 예측할 수 있습니다 마지막으로 탐지 결과를 시각화 할 수 있습니다 이미지에서 감지 된 개체 주위에 상자가 그려져 있음을 알 수 있습니다 객체 카테고리 자신감뿐만 아니라 보여줍니다

이미지에서 감지 된 양을보십시오 이것이 데모의 끝입니다 DLPy와이 예제를 사용해보십시오 시청 해주셔서 감사합니다! 안녕하세요, Guixian Lin입니다 저는 SAS의 컴퓨터 비전 딥 러닝 개발자입니다

여기에 DLPy로 알려진 SAS 고급 딥 러닝 Python API를 사용하여 가벼우면서도 강력한 컨볼 루션 뉴럴 네트워크를 쉽게 구축하고 훈련 할 수 있습니다 이미지 분류 문제에 대한 (또는 CNN) 이 예에서는 의류를 분류합니다 VGG16 및 ResNet50과 같은 인기있는 CNN은 이미지 분류에 널리 사용되었습니다 뛰어난 정확성을위한 작업 그러나 자원이 제한된 모바일 및 에지 장치의 경우 이러한 CNN은 종종 너무 유용하게 큰

얼굴 인식 및 자율 주행 차와 같은 실시간 애플리케이션에는 충분히 빠르지 않습니다 다음으로 세 가지 효율적인 CNN 인 MobilenetV1, ShufflenetV1 및 MobileNetV2를 소개합니다 이 인기 CNN보다 훨씬 작지만 정확도는 비슷합니다 CNN의 핵심 구성 요소는 컨볼 루션 레이어라는 것을 알고 있습니다 효율적인 MobileNet 및 ShuffleNet의 기본 아이디어는 표준 컨볼 루션을 대체하는 것입니다

가벼운 컨볼 루션 그림 21은 표준 컨벌루션과 깊이 분리형의 차이점을 보여줍니다 깊이 컨벌루션과 포인트 컨벌루션으로 구성된 컨벌루션 맨 윗줄에서 각 블록은 컨벌루션 필터를 나타내며 총 c2 필터가 있습니다

각 컨볼 루션 필터는 공간 정보를 필터링하고 채널 정보를 결합합니다 한 번의 단계로 입력 기능 이를 위해서는 각 컨볼 루션 필터의 깊이가 입력 피처의 깊이와 일치해야합니다 여기서 깊이는 c1입니다 레이어가 깊어 질수록 피처 맵의 깊이가 더 커지는 경우가 종종 있습니다

이러한 인기있는 CNN이 매우 큰 이유입니다 두 번째 행은 깊이 컨벌루션이 공간 정보를 채널별로 필터링 함을 보여줍니다 즉, 각 깊이 방향 컨볼 루션의 깊이는 레이어의 깊이에 관계없이 항상 1입니다 입니다 깊이 컨볼 루션은 입력 채널 만 필터링하므로 출력을 결합해야합니다

유용한 기능을 생성하는 기능 이것은 커널과의 표준 컨볼 루션 인 포인트 컨벌루션으로 수행 할 수 있습니다 1 회 1 회 표준 컨벌루션을 깊이 컨벌루션으로 교체 한 다음 점별 컨볼 루션에서 유사한 방식으로 피쳐와 패턴을 추출 할 수 있지만 모델 크기는 극적으로 감소했습니다 그림 22는 그룹 컨볼 루션을 설명합니다

채널을 여러 그룹으로 나누고 각각의 표준 컨볼 루션을 적용합니다 그룹 예를 들어 g 개의 그룹이있는 경우 모델 크기를 1 / g의 차수로 줄일 수 있습니다 그림 23은 MobileNetV1, ResNet50, ShuffleNetV1 및 MobileNetV2의 빌딩 블록을 보여줍니다

MobileNetV1의 경우 아키텍처는 VGG와 유사합니다 VGG의 표준 컨벌루션을 경량 깊이 컨볼 루션으로 대체합니다 포인트 컨벌루션이 뒤 따른다 ResNet은 종종 ResNet 블록으로 인해 VGG보다 성능이 우수하기 때문에 ShuffleNetV1 MobileNetV2는이 아이디어를 빌 렸습니다 둘 다 ResNet 블록의 표준 컨벌루션을 깊이 컨벌루션으로 대체하여 모델 크기

ShuffleNetV1은 포인트 컨벌루션을 그룹 컨볼 루션으로 대체하여 모델 크기 이제 경량 컨볼 루션이 더 작은 모델을 빌드하는 데 유용하다는 것을 이해합니다 및 ShuffleNet 다음으로 의류 소매 제품 데이터에 대한 성능을 보여 드리겠습니다 먼저 데이터 세트를로드하고 일부 이미지를 표시합니다

여기에는 6 개의 수업이 있으며 약 2,100 개의 이미지가 있습니다 다음으로, 우리는 훈련과 평가를 위해 무작위로 데이터를 훈련과 테스트로 나누었습니다 다른 CNN SAS DLPy는 다양한 사전 구축 네트워크 아키텍처를 제공합니다 매우 효과적입니다

여기서는 CNN을 구축하는 데 사용할 것입니다 MobileNetV1 아키텍처의 경우 다음과 같은 기본 매개 변수를 지정합니다 클래스 수 입력 이미지를 정규화하기위한 오프셋 및 스케일로 분류 될 수있다 또한 임의 뒤집기와 자르기를 사용하여 입력 이미지를 보강합니다 MobileNetV1 모델에는 축소 매개 변수 인 alpha가있어 출력 채널 수 옵티 마이저를 설정 한 후 모델을 학습 할 준비가되었습니다

훈련 로그는 많은 유용한 정보를 알려줍니다 여기에서 모델 매개 변수의 수가 8 백만임을 알 수 있습니다 대상에는 6 개의 클래스가 있습니다 훈련 손실과 오류로 반복 기록을 그릴 수 있습니다

16 오류 후 훈련 오류가 감소하고 수렴 함을 보여줍니다 최종 교육 오류는 약 54 %입니다 다음으로 테스트 데이터에서 모델 성능을 평가합니다 MobileNetV1 모델의 오류율은 5

3 %입니다 그거 좋네! 올바른 예측과 잘못된 예측을 통해 모델을 확인함으로써, 모델이 패턴을 배우고 합리적인 예측을한다는 것을 알 수 있습니다 다음으로 비슷한 단계를 따라 다른 CNN (ShuffleNetV1, MobileNetV2, 및 ResNet50 자세한 내용은 노트북을 참조하십시오 이 모델의 테스트 오류는 다음과 같이 요약됩니다

탁자 이 3 가지 경량 모델은 일반 모델보다 매개 변수가 훨씬 적습니다 ResNet50은이 소매 데이터의 정확성을 향상시킵니다 이 비디오에서 SAS DLPy를 사용하면 이러한 작은 크기를 빠르게 구축하고 훈련 할 수 있습니다 그러나 효율적인 CNN

앞으로의 작업에 이러한 모델을 적용 해 볼 수 있기를 바랍니다 시청 해주셔서 감사합니다! 안녕하세요 제 이름은 웨인 톰슨입니다 저는 SAS의 데이터 과학자이며 딥 러닝과 함께 일할 수있는 특권이 있습니다 R & D 팀 컴퓨터 용 Python 및 DLPy 및 SAS Viya를 사용한 딥 러닝을위한 비디오 시리즈입니다

전망 이 특정 비디오에서는 패션에 태그를 지정하기 위해 멀티 태스킹 딥 러닝 모델을 훈련하고 싶습니다 품목 이제 기계 학습에서 종종 이미지를 가져 와서 레이블을 지정하고 단일 이미지를 만듭니다 옷의 종류를 분류하는 것과 같이지도 학습을 통해 하나의 작업을 분류합니다 드레스인가요? 티셔츠인가요? 벨트인가요? 그리고 색상과 같은 다른 의미 속성이 있고 입력 데이터에 레이블을 지정하면 색상을 분류하기 위해 회선 신경망과 같은 다른 것을 훈련하십시오

종종 고려해야 할 장점과 장점 중 하나는 단일 모델을 훈련시키는 것입니다 이 두 가지 과제를 동시에 동시에 배우는 것입니다 이를 유용한 정보를 활용하는 패러다임 인 멀티 태스킹 학습이라고합니다 전체적인 일반화를 향상시키기 위해 여러 관련 작업에서 즉, 모델이 더 잘 맞는 경향이 있습니다 한 작업에 대한 정보가 다른 작업을 예측하는 데 신뢰성을 부여 할 수 있기 때문에 좋습니다

단일 모델이 있으므로 두 모델을 사용하는 것보다 배포가 훨씬 쉽습니다 또는 더 많은 모델 따라서보다 쉽게 ​​관리하고 생산할 수 있습니다 시작하기 전에 멀티 태스킹 학습은 매우 강력합니다 자율 주행 차와 같은 많은 응용 분야에 사용됩니다

영어로 된 문서 모음이 있다고 가정 해 봅시다 프랑스어, 독일어 및 이탈리아어로 번역하고 싶습니다 거기에는 동시에 훈련하는 세 가지 작업이 있습니다 이제이 예에서는 이미 CAS 세션을 시작했습니다 DLPy를로드했으며 CAS 서버에 연결했습니다

가장 먼저 보여 드리고 싶은 것은 디스크에서 이미지를로드하고로드하는 방법입니다 이 예제에서는 하위 디렉토리에서 읽은 후 레이블을 재귀 적으로 가져옵니다 따라서 실제로 디스크에서 데이터를로드하여 메모리로 읽어들입니다 서브 디렉토리에서 레이블을 당기십시오 다음으로하는 일은 간단한 빈도 수이며 데이터가 상당히 균형을 이루고 있음을 알 수 있습니다 모든 작업에서 332 개에서 386 개의 관측치가 있습니다

이런 종류의 균형을 가질 필요는 없으며 분명히 콜스 나 메이 시즈, 우리는 더 많은 관측을 할 것이지만 이것은 간단한 데모입니다 이제 멀티 태스킹 딥 러닝을 수행하는 데있어 가장 까다로운 부분 중 하나는 작업 레이블 자체 이제 내가하고있는 첫 번째 일은 Pandas 데이터 프레임을 사용하고 getDummies를 단순히 이진 지표를 만듭니다 딥 러닝 패키지에는 정말 강력한 것이 있습니다 SAS 함수 컴파일러입니다

이를 사용하여 자신의 손실 함수를 찾을 수 있습니다 여기에서는 계산 된 vars를 사용하여 조건부로 추가 작업을 조건부로 정의하고 있습니다 여성, 의복의 조화는 무엇이며, 나는 그것을 다른 사람들과 다시 합류합니다 데이터 여기 간단한 머리를보고 몇 가지 관찰 만 살펴보면 이제 9 개의 총 작업이 동시에 진행되고 있음을 알 수 있습니다

여자를위한 것이 든 아니든 자, 여기에 이미지를 보여 드리는 예가 있습니다 그들이 어떻게 생겼는지 딥 러닝의 많은 머신 러닝 문제와 마찬가지로 데이터 크기도 조정합니다 200×200으로 설정하고 CAS 서버의 모든 작업자 노드에서 데이터를 섞습니다 여기서 20 %의 샘플을 작성하고 있음을 명심하십시오 이것은 홀드 아웃 데이터 세트 테스트이며, 나머지 80 %의 데이터를 사용하여 학습합니다

에 모델 이제이 시점에서 직접 비순환 그래픽 인 기본 아키텍처를 정의하겠습니다 네트워크를 위해 그리고 DL Plot을 사용하여이를 수행하고 있습니다 입력 레이어, 컨볼 루션 레이어, 배치 규범 풀링 및 밀집 레이어가 있습니다

그러나이 네트워크 플롯을 보면 기본적으로 하나의 아키텍처가 있음을 알 수 있습니다 그리고 그 아키텍처는 우리가 시도하는 모든 결과 작업과 공유됩니다 예측하십시오 모든 작업에 대해 동일한 네트워크를 가질 필요는 없습니다 이것은 기본 예이며 여기에서 실제로 잘 작동합니다 예측하려는 각 작업에 대해 서로 다른 네트워크 아키텍처를 가질 수 있습니다

아키텍처를 정의한 후 모델을 학습하려고합니다 이 예에서는 운동량과 같은 매우 기본적인 최적화 방법을 사용하고 있습니다 60 개의 EPICS를하고 있는데 훈련 옵션을 정의하고 싶습니다 이제 partition이 0 인 곳을 사용하고 있습니다 그것은 훈련 데이터의 80 % 만 가져올 것입니다

모델 무게 등 나중에 득점을 할 수 있습니다 GPU에서도 이것을 훈련하고 있습니다 딥 러닝의 곱셈 특성으로 인해 네트워크를 더 빨리 훈련시킬 수 있습니다 모델과 더 빠른 실험

다양한 최적화 방법을 시도해보고 궁극적으로 최상의 모델을 얻을 수 있습니다 더 빨리 여기에 약간의 출력이 있지만, 내가 시도한 것은 이것을 이것에 요약합니다 반복 플롯 우리가 60 번의 EPICS를했다는 것을 기억하십시오 약 13 ~ 14 개의 EPICS 어딘가에서 쇠퇴와 상실과 시대를보고 있습니다

모델이 실제로 안정화 된 것 같습니다 나는 실제로 그것을 자랑스럽게 생각합니다 좋아 보인다 테스트 데이터와 비교하여 먼저 확인하겠습니다 이 모델은 훈련을 위해 개발되었습니다 이제 데이터의 20 %를 부분 집합 화하겠습니다

훈련에서 절약 한 모델 가중치를 사용하여 해당 데이터의 점수를 매길 것입니다 그리고 여기서 볼 수 있듯이 모든 작업에 대해 평균 제곱 오차가 매우 낮습니다 좀 더 세분화되고 실제로 혼동 행렬과 같은 것을보고 모델이 테스트 데이터에 얼마나 잘 맞는지 그런데이 예측값 p_는 테스트 데이터에 대한 예측값을 나타냅니다 내가 훈련 한 모델에 나는 판다에서 약간의 일을한다 파이썬을 DLPy와 똑바로 혼합하는 것이 좋습니다

그리고 9 가지 작업 각각에 대한 분류 행렬 인 혼동 행렬을 얻습니다 행은 실제 값을 나타내고 열은 예상 값을 나타냅니다 벗어난 대각선에서, 우리가 잘못한 곳입니다 여기에 검은 색은 4 개, 파란색은 4 개, 빨간색은 1 개, 우리는 다른 수업을 살펴보고 정말 잘하고 있습니다 마지막으로, SAS에서 딥 러닝의 비밀 소스 조각 중 하나는 ASTORE

여기에서 실제로 모델을 이진 파일에 저장하여 배치 스코어링을 수행 할 수 있습니다 스트리밍 분석을 사용하여 점수를 매기거나 다른 모델과의 작업을 위해 모델을 ONNX로 가져 오기 PyTorch 및 TensorFlow와 같은 패키지 여기에이 작업을 완료하고 모델을 저장했으며 다음 비디오에서는 실제로 스트리밍 분석을 사용하여이 모델의 점수를 매기는 방법을 살펴 보겠습니다 결론적으로, 멀티 태스킹 딥 러닝은 실제로 여러 개를보고 예측할 수있게합니다 동시에 작업

DLPy를 사용하면 간단합니다 다음 비디오에서 to기를 기대합니다 Python 및 SAS Viya Computer Vision Series를 사용한 딥 러닝에 오신 것을 환영합니다 제 이름은 웨인 톰슨입니다 저는 SAS의 데이터 과학자이며 SAS Deep과 함께 일합니다

학습 R & D 팀 이 비디오에서는 DLPy의 자매 인 ESPPy를 사용하여 멀티 태스킹을하고 싶습니다 딥 러닝 모델 이제 이미 멀티 태스킹 딥 러닝 모델을 훈련했습니다 이미지를 모아서 9 가지 작업을 예측하고 동시에 수행 할 수있는 모델을 개발했습니다

이 예제에서하고 싶은 것은 ESPPy를 사용하는 것입니다 또한 SAS 이벤트 스트림 처리 창에 연결할 수 있습니다 프로젝트를 구축하고 창과 상호 작용하며 모델을 배포합니다 SAS Event Stream Processing은 정말 멋집니다 여기에는 클러스터링에서 시계열 분석에 이르는 여러 스트리밍 작업이 포함됩니다

감정 분석 또는 공동 필터링과 같은 작업도 수행 할 수 있습니다 하지만이 데모에서는 이미지 처리 창과 온라인 창을 사용하겠습니다 딥 러닝 멀티 태스킹 모델을 배포 할 수 있습니다 이제 가장 먼저해야 할 일은 실제로 프로젝트를 만드는 것입니다 이 멀티 태스크를 호출하고 실제로이 셀을 실행하겠습니다

그리고 다음으로하고 싶은 것은 프로세스 흐름이나 관로 실제로 이미지를 읽으려면 소스 창이 필요합니다 우리가 일부 교육에서했던 것처럼 모델을 훈련 할 때마다 일반적으로 이미지 따라서 점수를 매길 때 20에서 20으로 크기를 조정하고 이미지 처리를 사용하겠습니다 그렇게하는 창

다음은 모델을 가져와야한다는 것입니다 모델을 학습하고 ASTORE로 저장 했으므로 모델 리더가 있습니다 그것을 읽을 수있는 창 그리고 실시간으로 점수를 생성하는 득점 창이 있습니다 그리고 보면, 프로젝트는 다음과 같습니다

나는 데이터를 읽고 이미지를 표준화하고 점수를 생성합니다 그런 다음 실제로 프로젝트를로드하고 몇 개의 출력 테이블을 설정하겠습니다 여기에 쓸 것입니다 이제 첫 번째 노트북을 사용하여 실제로 노트북을 정의하기 때문에 별도의 노트북이 있습니다 ESP 프로젝트

이 책에서는 간단히 게시하고 점수 매기기 프로세스를 시작하겠습니다 그래서 저는 팔고이 모든 것을 실행합니다 실제로 모델의 점수를 매 깁니다 다시 여기로 돌아가서 이제 이벤트 스트림 처리 엔진을 사용하겠습니다 득점

실제로 예측 확률과 함께 태그가 지정되고 라벨이 지정된 이미지가 표시되는 것을 볼 수 있습니다 작동하는 예제를 제공하는 작은 세트입니다 수면 시간은 03입니다 이벤트 스트림 처리 엔진은 실제로 초당 최대 50 프레임을 수행 할 수 있습니다

시원한 이 데모에서는 이미 멀티 태스킹 학습을 위해 개발 된 모델을 검색을 용이하게하기 위해 스트리밍 분석을 사용하여 배포 할 수있었습니다 콜이나 메이시 같은 사람 교육용 DLPy와 함께 ESPPy를 사용하면 실제로 쉽게 수행 할 수 있습니다

Peace Parks Foundation tackles rhino poaching with Azure Machine Learning

[음악] >> Hluhluwe iMfolozi Park는 특별한 공원입니다 >> 코뿔소의 발상지로 알려져 있습니다 여기에서 대부분의 흰 코뿔소 개체군이 실제로 생겨납니다

최근 몇 년 동안 조직 범죄 보전과 밀렵 코뿔소에 침투했습니다 작년에 769 명이 사망했습니다 하루에 두 마리가 넘습니다 피스 파크 재단은 공동의 목표를 향해 함께 노력합니다 남아프리카 내 야생 동물 범죄와 인신 매매 퇴치 >> 우리를 지원할 수있는 기술이 없다면 코뿔소가 쇠퇴 할 것이라고 약속합니다

공원에는 96,000 헥타르가 있습니다 정확하게 식별 할 수 없습니다 그들이 사용할 사람들에게 어제라도 우리는 코뿔소 두 개를 잃어 버렸습니다 그것은 문제입니다 내 마음에서 코뿔소 밀렵과 싸우고 있는지 확인해야합니다 코뿔소를 만지면 날 만져 [음악] >> 레인저는 코뿔소를 구하고 싶어 그들은 기술자가되고 싶지 않습니다 그리고 여기서 Azure와 클라우드를 살펴보기 시작했습니다

>> 우리가 찾고있는 것 의심스러운 인간 활동을 감지하는 것입니다 모션 활성화 카메라 트랩으로 촬영 한 이미지 >> 그들은 단지 카메라입니다 무언가가 지나가 자마자 사진을 찍습니다 알다시피 동물이 지나서 움직여 바람이 불고 있습니다 정말 원하지 않는 사진을 많이 찍고 있지만 당신이 정말로 누군가를 붙잡고 싶다면 각각을 봐야합니다 그 문제는 분명히 당신이 매일 너무 많은 사진을 처리 할 수 ​​있습니다 우리가 할 수있는 것 이 시스템은이 사진이 기계 학습 모델로만 전송 사람과 차량 관련 사진

>> Nerve Center에는 반응 장치 팀이 있습니다 반응 단위 팀은 그 코뿔소를 구할 수 있도록 >> Azure 이전에는 실제로 확장 할 수 없었습니다 Microsoft는 오픈 소스에 대한 엄청난 기여자입니다 Azure를 사용하면 Linux 운영 체제를 쉽게 사용할 수 있습니다 모든 것은 Azure Functions 및 Postgres 데이터베이스에서 실행됩니다

>> 우리는 Keras 기반 프레임 워크를 사용하고 있습니다 TensorFlow, SSD 신경망, 아키텍처, FasterRCNN, YOLO v3 및 RetinaNet 우리는 GPU와 함께 Azure Machine Learning Compute를 사용했습니다 확장 성이 뛰어납니다 이 시나리오에서는 모델이 우리에게 준 대기 시간은 완벽했습니다 >> 데이터가 어디에 있는지 아는 것이 중요합니다

이제 남아프리카의 데이터 센터에 넣을 수 있습니다 마이크로 소프트, 그들은 정말 기여하고 있습니다 원인에 정말 큰 차이를 만드는 남아프리카 우리의 유산,이 동물들입니다 그들은 수백 년 동안 여기에 있었고 수백 년 우리는 그렇게 유지하고 싶습니다

[음악]

SAS Demo | Deep Learning with Python (DLPy) and SAS Viya for Computer Vision

안녕하세요, 저는 Susan Kahler이고 인공 지능과 기계 학습에 대한 책임이 있습니다 SAS에서

이 비디오에서는 SAS Deep Learning Python API 또는 DLPy에 대해 간략하게 설명합니다 이 시리즈는 DLPy가 지원하는 최신 컴퓨터 비전 모델에 중점을 둘 것입니다 DLPy를 통해 Python에 익숙한 데이터 과학자는 딥 러닝을 활용할 수 있습니다 SAS Viya의 컴퓨터 비전 기능 설명의 링크를 사용하여 주제로 직접 이동하십시오

첫 번째 섹션에서는 DLPy와 함께 Functional API를 활용하여 빌드하는 방법을 살펴 봅니다 ResNet 모델을 포함한 기능 추출을위한 복잡한 모델 다음으로 축구를 추적하기 위해 U-Net 모델을 사용하여 이미지 세분화를 수행하는 방법을 볼 수 있습니다 선수 그런 다음 DLPY가 VGG16을 백본으로 사용하여 Faster R-CNN을 사용하여 객체 감지를 지원하는 방법을 살펴 보겠습니다 회로망

스위칭 기어, DLPy가 어떻게 MobileNet 및 ShuffleNet을 지원하고 성능을 비교하는지 살펴 보겠습니다 ResNet50 모델이있는 모델 중 하나입니다 마지막으로 훈련과 추론 모두에서 멀티 태스킹 학습이 수행되는 방법을 살펴 보겠습니다 제품 권장 사항에 대해서는 소매 도메인에서 추론을 위해 Python 용 이벤트 스트림 처리 패키지 인 SAS ESPPy를 사용합니다 DLPy에는 Python 3 이상 및 SAS Viya 34가 필요합니다

또한 Analytics 전송을위한 SAS 스크립팅 래퍼 또는 SWAT 패키지가 필요합니다 DLPy는 python-dlpy 디렉토리의 SAS 소프트웨어 용 GitHub에서 사용할 수 있습니다 이 비디오에 실린 Jupyter 노트북도 해당 위치에 있습니다 DLPy의 최신 컴퓨터 비전 기능에 대해 배우고 즐기시기 바랍니다 스스로를 위해

안녕하세요, 저는 SAS의 데이터 과학자 인 Wenyu이며 딥 러닝과 컴퓨터에 중점을 둡니다 비전 API 이 비디오에서는 고급 Python API, Python을 사용한 SAS Deep Learning 또는 (DLPy) 이 비디오의 목적은 SAS에서 기능적 API를 활용하는 방법을 보여주는 것입니다 복잡한 모델을 만들기위한 DLPy 보다 유연한 방법을 제공하기 때문에 Functional API에 중점을두고 있습니다

Keras Functional API와 매우 유사한 복잡한 모델을 구현하십시오 Sequential API는 공유 모델을 만들 수 없다는 점에서 제한적입니다 레이어 또는 여러 입력 또는 출력이 있습니다 입력 및 출력이 여러 개인 모델이 Functional API를 사용하는 좋은 예입니다 간단한 6 단계로 SAS DLPy를 사용하여 모델을 생성 해 봅시다

텐서를 반환하는 Input ()에 의해 두 개의 텐서 (회색조 이미지와 RGB 이미지)를 정의합니다 목적 그런 다음 그레이 스케일 이미지가 두 개의 컨볼 루션 브랜치에 공급됩니다 이 모델에는 또 다른 입력 컬러 이미지가 있습니다 그런 다음 이미지의 특징을 추출하기 위해 컨벌루션 연산이 사용됩니다

세 개의 텐서가 연결되고 OutputLayer_1에서 분류를 계산하는 데 사용됩니다 손실 또한 모델은 OutputLayer_2를 통해 감독됩니다 그런 다음 정의 된 입력 텐서 및 출력 텐서를 Model () 함수에 전달합니다 마지막으로 compile ()을 호출하여 네트워크를 컴파일합니다

여기서는 모델의 요약과 네트워크 그래프를 보여줍니다 레이어 연결 이 다음 모델에서는 ResNet 유사 모델을 작성하는 방법을 고려하십시오 이 작업에서는 돌고래 또는 기린을 포함하는지 여부에 따라 이미지를 분류합니다 먼저 각각의 직후에 배치 정규화를 채택하는 회선 블록을 정의합니다

회선 다음으로, 나머지 블록 내에서 바로 가기 연결을 사용하여 입력 기능을 연결합니다 컨볼 루션의 출력에 4 개의 누적 잔차 블록이 있으며 네트워크는 전체 평균 풀링으로 끝납니다 다음은 4 개의 잔차 블록이 순차적으로 누적되고 전체 평균이 표시되는 모델의 그래프입니다 풀링

모델이 빌드되면 ImageTable API에 의해 데이터가로드되고 모델을 학습 할 수 있습니다 순차적 인 모델처럼 SAS DLPy API를 사용하면 사전 훈련 된 여러 출력 모델을보다 쉽게 ​​정의 할 수 있습니다 기능 추출기로서의 백본 다음 경우에는 가중치와 함께 ResNet18 모델을로드합니다 다음으로로드 된 모델을 기능 모델로 변환하고 원래 작업 계층을 삭제합니다 이를 위해 to_functional_model ()을 사용하고 stop_layers를 지정합니다

그래프 이동을 중지하는 레이어 즉, stop_layers와 stop_layers가 뒤에 오는 모든 레이어가 제거됩니다 기능적 모델 그런 다음 OutputLayer와 Keypoints Layer라는 두 가지 새로운 작업 계층을 추가합니다 그래프 하단에서 새로 추가 된 두 개의 레이어를 볼 수 있습니다

이 비디오에서는 DLPy를 사용하여 여러 입력 및 출력을 가진 모델을 만든 다음 ResNet과 유사한 모델이며 마지막으로 순차 모델을 기능 모델로 변환했습니다 시청 해 주셔서 감사합니다 안녕하세요, 저는 Maggie Du이고 SAS의 기계 학습 개발자이며 딥 러닝 및 컴퓨터 비전 API 이 비디오에서는 DLPy라고하는 SAS 고급 딥 러닝 Python API를 사용하여 게임에서 축구 선수를 추적하는 이미지 분할 문제를 해결하는 방법을 보여줍니다 각 플레이어에 대한 통계를 제공합니다

코치에 의한 경기 후 분석과 같은 여러 목적으로 통계를 사용할 수 있습니다 팬들에게 증강 게임 시청 경험을 제공합니다 이미지 분할은 이미지를 의미 적으로 의미있는 부분으로 분할하려고 시도합니다 각 부분을 사전 정의 된 레이블 중 하나로 분류합니다 따라서 픽셀 수준에서 이미지를 이해하는 새로운 방법입니다

예를 들어이 이미지에는 개, 고양이 및 배경의 세 가지 클래스가 있습니다 따라서 우리는 각 픽셀에 어떤 클래스가 속하는지를 나타내는 특정 색상을 부여합니다 전반적으로 각 객체의 정확한 경계를 얻을 수 있습니다 시작하자 필요한 모듈을로드 한 후 데이터 세트를로드하려고합니다

우리는 축구 경기의 이미지를 예로 들어 170 이미지가 포함 된 모두 256 * 256으로 조정되었습니다 다음은 원시 이미지와 해당 주석의 시각화입니다 이미지에는 축구 선수, 축구 공 및 배경의 세 가지 다른 객체가 있습니다 따라서 주석 이미지에는 세 가지 색상이 포함됩니다 그런 다음 데이터 세트를 학습 데이터, 유효성 검사 데이터 및 테스트 데이터로 무작위로 나눕니다

다음으로 SAS DLPy를 사용하여 U-Net 모델을 구축하려고합니다 이 대칭 모델은 인코딩과 디코딩의 두 부분으로 볼 수 있습니다 기능 크기가 가장 작은 레이어 인 병목 현상 레이어로 분할됩니다 인코딩 부분에서 풀링 레이어를 사용하여 다운 샘플링을 수행하여 기능을 추출합니다 디코딩에서 입력 컨볼 루션 레이어를 사용하여 입력 이미지에서 업 샘플링 학습 된 정보를 재구성하는 부분

또한 텐서를 직접 결합하는 4 개의 연결 레이어를 모델에 추가했습니다 두 개의 다른 레이어에서 이전의 특정 정보를 쉽게 상속받을 수 있습니다 층 SAS DLPy는 사전 정의 된 U-Net 모델을로드하는 기능을 제공합니다 인코딩을위한 4 개의 풀링 계층 및 디코딩을위한 4 개의 전치 컨볼 루션 계층

축구 경기 데이터 모델에는 3 천 4 백만 개가 넘는 매개 변수가 포함되어 있습니다 SAS DLPy API를 사용하여 계층별로 고유 한 U-Net 모델을 만들 수도 있습니다 병목 현상 레이어의 크기 및 컨볼 루션 수와 같은 기능을 쉽게 결정할 수 있습니다 두 풀링 레이어 사이에 원하는 레이어 아키텍처가 구축되면 교육 데이터를 사용하여 모델을 교육하고 유효성을 검사 할 수 있습니다 검증 데이터 사용

교육이 완료된 후 테스트 데이터를 사용하여 모델의 성능을 테스트 할 수 있습니다 새로운 이미지를 수행합니다 스코어링 메트릭을 확인하거나 예측을 직접 시각화 할 수 있습니다 이 예에서 잘못된 분류 비율은 056 %로 65,536 픽셀 중 약 360 픽셀 만 잘못 레이블이 지정됩니다 두 번째 방법은 간단합니다

여기에 원시 이미지, 주석 및 예측을 나란히 놓고 모델의 성능을 확인하기 위해 모든 것을 쉽게 비교할 수 있습니다 첫 번째 열에는 원시 이미지가 표시되고 가운데 열에는 실제 이미지가 표시됩니다 세 번째 열의 이미지는 예측에서 얻습니다 마지막 두 열 사이에는 약간의 차이 만 있습니다 이는 U-Net 모델을 의미합니다

이 데이터에 매우 효과적이었습니다 이 비디오에서는 SAS DLPy를 사용하여 이미지 세분화 모델을 신속하게 구축하고 이 모델에 대한 교육 및 스코어링 방법 SAS DLPy에는 훨씬 더 많은 기능이 포함되어 있으므로 향후 사용 사례 시청 해 주셔서 감사합니다! 안녕하세요, 제 이름은 Xindian Long이고 컴퓨터 비전을위한 딥 러닝 알고리즘을 개발합니다 YOLO, Faster R-CNN, Mask R-CNN 등 SAS Deep Learning for Python (또는 DLPy)은 고급 Python과 함께 제공됩니다 사용자가 이러한 기능을 사용할 수 있도록하는 API

현재 그림 1과 같이 주로 물체 감지 방법에는 두 가지 유형이 있습니다 첫 번째 방법은 단일 단계 방법입니다 이 유형의 방법에서 경계 상자 지역화 및 객체 분류는 하나에서 수행됩니다 단계 YOLO, SSD와 같은 알고리즘이이 범주에 속합니다

두 번째 방법은 다단계 방법입니다 여기에는 두 가지 단계가 있습니다 첫 번째 단계에서 지역 제안 네트워크는 관심있는 직사각형 지역을 찾는 것입니다 객체를 포함 할 가능성이 높은 (또는 ROI) 두 번째 단계에서는 추가 회귀 및 분류를 수행하여 실제로 해당 지역에 개체가 있으며, 그렇다면 범주와 정확한 위치 그리고 모양입니다 Faster R-CNN, R-FCN과 같은 알고리즘이이 범주에 속합니다

첫 번째 범주의 알고리즘은 일반적으로 두 번째 범주의 알고리즘보다 빠릅니다 예를 들어 실시간 성능이 필요한 응용 프로그램이있는 경우 YOLO는 아마도 좋은 선택 Faster R-CNN과 같은 두 번째 범주의 알고리즘은 일반적으로 더 정확합니다 “Faster R-CNN”이라는 이름이 언급 된 다른 알고리즘보다 더 빠르게 실행되는 것은 아닙니다 이리

R-CNN 및 Fast R-CNN 알고리즘보다 이전 버전보다 훨씬 빠릅니다 그림 2는 앵커 박스의 중요한 개념을 보여줍니다 그들은 객체에 사용됩니다 YOLO와 Faster R-CNN의 탐지 알고리즘 이 개념을 이해하는 것이 매우 중요합니다 앵커 상자는 이미지의 여러 위치에있는 추상 상자이며 일반적으로 그리드 패턴

사전 정의 된 모양으로 사전 설정된 개수의 경계 상자를 예측하는 데 사용됩니다 각 위치에서 앵커 상자는 예측 된 위치의 초기 값으로 사용됩니다 모양에 따라 개체 크기 / 모양에 대한 사전 지식이 포함되어 있습니다 그림 2의 이미지에서이 한 위치에 많은 앵커 박스가 있음을 알 수 있습니다 상자마다 모양이 다른 물체를 감지합니다

예를 들어이 이미지에서 빨간색 앵커 상자는 사람을 감지하는 상자입니다 물론 최종적으로 감지 된 물체 모양은 원래 물체와 약간 다를 수 있습니다 알고리즘이 최적화하기 때문에 앵커 박스의 모양 그림 3은 Faster R-CNN 네트워크 아키텍처를 보여줍니다 DLPy를 사용하면 계층별로 구축 할 필요가 없습니다 알고리즘 이해를 돕기 위해 그것에 대해 이야기하고 있습니다

그것의 첫 번째 부분은 백본 네트워크입니다 백본 네트워크에는 일반적으로 많은 회선 레이어와 풀링 레이어가 포함되어 있습니다 입력 이미지에서 기능 맵을 추출합니다 널리 사용되는 백본 네트워크에는 VGG16, ShuffleNet 또는 ResNet 등이 있습니다 응용 프로그램 및 요구 사항에 따라 선택할 수 있습니다

지역 제안 네트워크는 백본 네트워크를 따릅니다 지역 제안 네트워크는 많은 제안 된 관심 지역을 출력합니다 개체를 포함 할 가능성이 높은 창입니다 지역 제안 네트워크는 지역 이전에 두 개의 특수한 컨볼 루션 레이어로 구성됩니다 제안서 계층

지역 제안서 레이어에 대해 사용자가 지정해야하는 중요한 매개 변수는 앵커 박스는 제안 될 수있는 형태의 범위를 대략 결정합니다 그 후에는 ROI 풀링 레이어입니다 관심 영역을 백본 네트워크 출력 인 페더 맵에 매핑합니다 창 내부의 픽셀 값을 추출하고 다른 크기의 하위 이미지를 형성합니다 ROI 풀링 레이어는 모든 하위 이미지의 크기를 같은 크기로 조정합니다

이것은 기능 맵의 모든 채널에 대해 수행됩니다 따라서 각 ROI마다 3D 데이터 배열을 얻습니다이를 텐서라고합니다 ROI 풀링 레이어의 출력에는 제안 된 각 영역마다 하나씩 많은 텐서가 포함됩니다 관심의

네트워크의 마지막 부분은 각 텐서와 ROI에서 독립적으로 작동하며 하나를 만듭니다 각 ROI에 대한 결정 세트 먼저, 두 개의 완전 연결된 레이어가 있으며 분류간에 공유됩니다 그리고 경계 상자 회귀 그런 다음 분류 헤더와 경계 상자 회귀 헤더가 있으며 각 헤더 앞에 하나의 완전히 연결된 레이어로 각각

우리 시스템에서 분류 헤더와 바운딩 박스 회귀 헤더는 모두 FastRCNN 계층에서 구현됩니다 빠른 R-CNN 네트워크 아키텍처에 대한 간략한 소개와 알고리즘의 방법 공장 이제 노트북을 볼 수 있습니다 먼저 CAS 서버에 연결합니다 조치 세트를로드하십시오

그리고 CAS 라이브러리를 빌드하십시오 그런 다음 DLPy 함수를 호출하여 앞에서 설명한 모델 아키텍처를 빌드해야합니다 Faster_RCNN 그런 다음 데이터 세트를로드하고 훈련 세트와 데이터 세트로 분할합니다 여기서 데이터 셋과 라벨을 그래픽으로 시각화하고 이미지와 경계를 볼 수 있습니다 상자 및 레이블

네트워크 교육을 위해 사전 훈련 된 가중치를로드하고 대상 열을 정의한 다음 가중치를 계속 최적화하려면 fit 함수를 호출하십시오 그런 다음 predict 함수를 호출하여 객체 위치와 범주를 예측할 수 있습니다 마지막으로 탐지 결과를 시각화 할 수 있습니다 이미지에서 감지 된 개체 주위에 상자가 그려져 있음을 알 수 있습니다 객체 카테고리 자신감뿐만 아니라 보여줍니다

이미지에서 감지 된 양을보십시오 이것이 데모의 끝입니다 DLPy와이 예제를 사용해보십시오 시청 해 주셔서 감사합니다! 안녕하세요, Guixian Lin입니다 저는 SAS의 컴퓨터 비전 딥 러닝 개발자입니다

여기에 DLPy로 알려진 SAS 고급 딥 러닝 Python API를 사용하여 가벼우면서도 강력한 컨볼 루션 뉴럴 네트워크를 쉽게 구축하고 훈련 할 수 있습니다 이미지 분류 문제에 대한 (또는 CNN) 이 예에서는 의류를 분류합니다 VGG16 및 ResNet50과 같은 인기있는 CNN은 이미지 분류에 널리 사용되었습니다 뛰어난 정확성을위한 작업 그러나 자원이 제한된 모바일 및 에지 장치의 경우 이러한 CNN은 종종 너무 유용하게 큰

얼굴 인식 및 자율 주행 차와 같은 실시간 애플리케이션에는 충분히 빠르지 않습니다 다음으로 세 가지 효율적인 CNN 인 MobilenetV1, ShufflenetV1 및 MobileNetV2를 소개합니다 이 인기 CNN보다 훨씬 작지만 정확도는 비슷합니다 CNN의 핵심 구성 요소는 컨볼 루션 레이어라는 것을 알고 있습니다 효율적인 MobileNet 및 ShuffleNet의 기본 아이디어는 표준 컨볼 루션을 대체하는 것입니다

가벼운 컨볼 루션 그림 21은 표준 컨벌루션과 깊이 분리형의 차이점을 보여줍니다 깊이 컨벌루션과 포인트 컨벌루션으로 구성된 컨벌루션 맨 윗줄에서 각 블록은 컨벌루션 필터를 나타내며 총 c2 필터가 있습니다

각 컨볼 루션 필터는 공간 정보를 필터링하고 채널 정보를 결합합니다 한 번의 단계로 입력 기능 이를 위해서는 각 컨볼 루션 필터의 깊이가 입력 피처의 깊이와 일치해야합니다 여기서 깊이는 c1입니다 레이어가 깊어 질수록 피쳐 맵의 깊이가 더 커지는 경우가 종종 있습니다

이러한 인기있는 CNN이 매우 큰 이유입니다 두 번째 행은 깊이 컨벌루션이 공간 정보를 채널별로 필터링 함을 보여줍니다 즉, 각 깊이 방향 컨볼 루션의 깊이는 레이어의 깊이에 관계없이 항상 1입니다 입니다 깊이 컨볼 루션은 입력 채널 만 필터링하므로 출력을 결합해야합니다

유용한 기능을 생성하는 기능 이것은 커널과의 표준 컨볼 루션 인 포인트 컨벌루션으로 수행 할 수 있습니다 1 회 1 회 표준 컨벌루션을 깊이 컨벌루션으로 교체 한 다음 점별 컨볼 루션에서 유사한 방식으로 피쳐와 패턴을 추출 할 수 있지만 모델 크기는 극적으로 감소했습니다 그림 22는 그룹 컨볼 루션을 설명합니다

채널을 여러 그룹으로 나누고 각각의 표준 컨볼 루션을 적용합니다 그룹 예를 들어 g 개의 그룹이있는 경우 모델 크기를 1 / g의 차수로 줄일 수 있습니다 그림 23은 MobileNetV1, ResNet50, ShuffleNetV1 및 MobileNetV2의 빌딩 블록을 보여줍니다

MobileNetV1의 경우 아키텍처는 VGG와 유사합니다 VGG의 표준 컨벌루션을 경량 깊이 컨볼 루션으로 대체합니다 포인트 컨벌루션이 뒤 따른다 ResNet은 종종 ResNet 블록으로 인해 VGG보다 성능이 우수하기 때문에 ShuffleNetV1 MobileNetV2는이 아이디어를 빌 렸습니다 둘 다 ResNet 블록의 표준 컨벌루션을 깊이 컨벌루션으로 대체하여 모델 크기

ShuffleNetV1은 포인트 컨벌루션을 그룹 컨볼 루션으로 대체하여 모델 크기 이제 경량 컨볼 루션이 더 작은 모델을 빌드하는 데 유용하다는 것을 이해합니다 및 ShuffleNet 다음으로 의류 소매 제품 데이터에 대한 성능을 보여 드리겠습니다 먼저 데이터 세트를로드하고 일부 이미지를 표시합니다

여기에는 6 개의 수업이 있으며 약 2,100 개의 이미지가 있습니다 다음으로, 우리는 훈련과 평가를 위해 무작위로 데이터를 훈련과 테스트로 나누었습니다 다른 CNN SAS DLPy는 다양한 사전 구축 네트워크 아키텍처를 제공합니다 매우 효과적입니다

여기서는 CNN을 구축하는 데 사용할 것입니다 MobileNetV1 아키텍처의 경우 다음과 같은 기본 매개 변수를 지정합니다 클래스 수 입력 이미지를 정규화하기위한 오프셋 및 스케일로 분류 될 수있다 또한 임의 뒤집기와 자르기를 사용하여 입력 이미지를 보강합니다 MobileNetV1 모델에는 축소 매개 변수 인 alpha가있어 출력 채널 수 옵티 마이저를 설정 한 후 모델을 학습 할 준비가되었습니다

훈련 로그는 많은 유용한 정보를 알려줍니다 여기에서 모델 매개 변수의 수가 8 백만임을 알 수 있습니다 대상에는 6 개의 클래스가 있습니다 훈련 손실과 오류로 반복 기록을 그릴 수 있습니다

16 오류 후 훈련 오류가 감소하고 수렴 함을 보여줍니다 최종 교육 오류는 약 54 %입니다 다음으로 테스트 데이터에서 모델 성능을 평가합니다 MobileNetV1 모델의 오류율은 5

3 %입니다 좋아요! 올바른 예측과 잘못된 예측을 통해 모델을 확인함으로써, 모델이 패턴을 배우고 합리적인 예측을한다는 것을 알 수 있습니다 다음으로 비슷한 단계를 따라 다른 CNN (ShuffleNetV1, MobileNetV2, 및 ResNet50 자세한 내용은 노트북을 참조하십시오 이 모델의 테스트 오류는 다음과 같이 요약됩니다

탁자 이 3 가지 경량 모델은 일반 모델보다 매개 변수가 훨씬 적습니다 ResNet50은이 소매 데이터의 정확성을 향상시킵니다 이 비디오에서 SAS DLPy를 사용하면 이러한 작은 크기를 빠르게 구축하고 훈련 할 수 있습니다 그러나 효율적인 CNN

앞으로의 작업에 이러한 모델을 적용 해 볼 수 있기를 바랍니다 시청 해 주셔서 감사합니다! 안녕하세요 제 이름은 웨인 톰슨입니다 저는 SAS의 데이터 과학자이며 딥 러닝과 함께 일할 수있는 특권이 있습니다 R & D 팀 컴퓨터 용 Python 및 DLPy 및 SAS Viya를 사용한 딥 러닝을위한 비디오 시리즈입니다

시력 이 특정 비디오에서는 패션에 태그를 지정하기 위해 멀티 태스킹 딥 러닝 모델을 훈련하고 싶습니다 품목 이제 기계 학습에서 종종 이미지를 가져 와서 레이블을 지정하고 단일 이미지를 만듭니다 옷의 종류를 분류하는 것과 같이지도 학습을 통해 하나의 작업을 분류합니다 드레스인가요? 티셔츠인가요? 벨트인가요? 그리고 색상과 같은 다른 의미 속성이 있고 입력 데이터에 레이블을 지정하면 색상을 분류하기 위해 회선 신경망과 같은 다른 것을 훈련하십시오

종종 고려해야 할 장점과 장점 중 하나는 단일 모델을 훈련시키는 것입니다 이 두 가지 과제를 동시에 동시에 배우는 것입니다 이를 유용한 정보를 활용하는 패러다임 인 멀티 태스킹 학습이라고합니다 전체적인 일반화를 향상시키기 위해 여러 관련 작업에서 즉, 모델이 더 잘 맞는 경향이 있습니다 한 작업에 대한 정보가 다른 작업을 예측하는 데 신뢰성을 부여 할 수 있기 때문에 좋습니다

단일 모델이 있으므로 두 모델을 사용하는 것보다 배포가 훨씬 쉽습니다 또는 더 많은 모델 따라서보다 쉽게 ​​관리하고 생산할 수 있습니다 시작하기 전에 멀티 태스킹 학습은 매우 강력합니다 자율 주행 차와 같은 많은 응용 분야에 사용됩니다

영어로 된 문서 모음이 있다고 가정 해 봅시다 프랑스어, 독일어 및 이탈리아어로 번역하고 싶습니다 거기에는 동시에 훈련하는 세 가지 작업이 있습니다 이제이 예에서는 이미 CAS 세션을 시작했습니다 DLPy를로드했으며 CAS 서버에 연결했습니다

가장 먼저 보여 드리고 싶은 것은 디스크에서 이미지를로드하고로드하는 방법입니다 이 예제에서는 하위 디렉토리에서 읽은 후 레이블을 재귀 적으로 가져옵니다 따라서 실제로 디스크에서 데이터를로드하여 메모리로 읽어들입니다 서브 디렉토리에서 레이블을 당기십시오 다음으로하는 일은 간단한 빈도 수이며 데이터가 상당히 균형을 이루고 있음을 알 수 있습니다 모든 작업에서 332 개에서 386 개의 관측치가 있습니다

이런 종류의 균형을 가질 필요는 없으며 분명히 콜스 나 메이 시즈, 우리는 더 많은 관측을 할 것이지만 이것은 간단한 데모입니다 이제 멀티 태스킹 딥 러닝을 수행하는 데있어 가장 까다로운 부분 중 하나는 작업 레이블 자체 이제 내가하고있는 첫 번째 일은 Pandas 데이터 프레임을 사용하고 getDummies를 단순히 이진 지표를 만듭니다 딥 러닝 패키지에는 정말 강력한 것이 있습니다 SAS 함수 컴파일러입니다

이를 사용하여 자신의 손실 함수를 찾을 수 있습니다 여기에서는 계산 된 vars를 사용하여 조건부로 추가 작업을 조건부로 정의하고 있습니다 여성, 의복의 조화는 무엇이며, 나는 그것을 다른 사람들과 다시 합류합니다 데이터 여기 간단한 머리를보고 몇 가지 관찰 만 살펴보면 이제 9 개의 총 작업이 동시에 진행되고 있음을 알 수 있습니다

여자를위한 것이 든 아니든 자, 여기에 이미지를 보여 드리는 예가 있습니다 그들이 어떻게 생겼는지 딥 러닝의 많은 머신 러닝 문제와 마찬가지로 데이터 크기도 조정합니다 200×200으로 설정하고 CAS 서버의 모든 작업자 노드에서 데이터를 섞습니다 여기서 20 %의 샘플을 작성하고 있음을 명심하십시오 이것은 홀드 아웃 데이터 세트 테스트이며, 나머지 80 %의 데이터를 사용하여 학습합니다

에 모델 이제이 시점에서 직접 비순환 그래픽 인 기본 아키텍처를 정의하겠습니다 네트워크를 위해 그리고 DL Plot을 사용하여이를 수행하고 있습니다 입력 레이어, 컨볼 루션 레이어, 배치 규범 풀링 및 밀집 레이어가 있습니다

그러나이 네트워크 플롯을 보면 기본적으로 하나의 아키텍처가 있음을 알 수 있습니다 그리고 그 아키텍처는 우리가 시도하는 모든 결과 작업과 공유됩니다 예측하십시오 모든 작업에 대해 동일한 네트워크를 가질 필요는 없습니다 이것은 기본 예이며 여기에서 실제로 잘 작동합니다 예측하려는 각 작업에 대해 서로 다른 네트워크 아키텍처를 가질 수 있습니다

아키텍처를 정의한 후 모델을 학습하려고합니다 이 예에서는 운동량과 같은 매우 기본적인 최적화 방법을 사용하고 있습니다 60 개의 EPICS를하고 있는데 훈련 옵션을 정의하고 싶습니다 이제 partition이 0 인 곳을 사용하고 있습니다 그것은 훈련 데이터의 80 % 만 가져올 것입니다

모델 무게 등 나중에 득점을 할 수 있습니다 GPU에서도 이것을 훈련하고 있습니다 딥 러닝의 곱셈 특성으로 인해 네트워크를 더 빨리 훈련시킬 수 있습니다 모델과 더 빠른 실험

다양한 최적화 방법을 시도해보고 궁극적으로 최상의 모델을 얻을 수 있습니다 더 빠르게 여기에 약간의 출력이 있지만, 내가 시도한 것은 이것을 이것에 요약합니다 반복 플롯 우리가 60 번의 EPICS를했다는 것을 기억하십시오 약 13 ~ 14 개의 EPICS 어딘가에서 쇠퇴와 상실과 시대를보고 있습니다

모델이 실제로 안정화 된 것 같습니다 나는 실제로 그것을 자랑스럽게 생각합니다 좋아 보인다 테스트 데이터와 비교하여 먼저 확인하겠습니다 이 모델은 훈련을 위해 개발되었습니다 이제 데이터의 20 %를 부분 집합 화하겠습니다

훈련에서 절약 한 모델 가중치를 사용하여 해당 데이터의 점수를 매길 것입니다 그리고 여기서 볼 수 있듯이 모든 작업에 대해 평균 제곱 오차가 매우 낮습니다 좀 더 세분화되고 실제로 혼동 행렬과 같은 것을보고 모델이 테스트 데이터에 얼마나 잘 맞는지 그런데이 예측값 p_는 테스트 데이터에 대한 예측값을 나타냅니다 내가 훈련 한 모델에 나는 판다에서 약간의 일을한다 파이썬을 DLPy와 똑바로 혼합하는 것이 좋습니다

그리고 9 가지 작업 각각에 대한 분류 행렬 인 혼동 행렬을 얻습니다 행은 실제 값을 나타내고 열은 예상 값을 나타냅니다 벗어난 대각선에서, 우리가 잘못한 곳입니다 여기에 검은 색은 4 개, 파란색은 4 개, 빨간색은 1 개, 우리는 다른 수업을 살펴보고 정말 잘하고 있습니다 마지막으로, SAS에서 딥 러닝의 비밀 소스 조각 중 하나는 ASTORE

여기에서 실제로 모델을 이진 파일에 저장하여 배치 스코어링을 수행 할 수 있습니다 스트리밍 분석을 사용하여 점수를 매기거나 다른 모델과의 작업을 위해 모델을 ONNX로 가져 오기 PyTorch 및 TensorFlow와 같은 패키지 여기에이 작업을 완료하고 모델을 저장했으며 다음 비디오에서는 실제로 스트리밍 분석을 사용하여이 모델의 점수를 매기는 방법을 살펴 보겠습니다 결론적으로, 멀티 태스킹 딥 러닝은 실제로 여러 개를보고 예측할 수있게합니다 동시에 작업

DLPy를 사용하면 간단합니다 다음 비디오에서 to기를 기대합니다 Python 및 SAS Viya Computer Vision Series를 사용한 딥 러닝에 오신 것을 환영합니다 제 이름은 웨인 톰슨입니다 저는 SAS의 데이터 과학자이며 SAS Deep과 함께 일합니다

학습 R & D 팀 이 비디오에서는 DLPy의 자매 인 ESPPy를 사용하여 멀티 태스킹을하고 싶습니다 딥 러닝 모델 이제 이미 멀티 태스킹 딥 러닝 모델을 훈련했습니다 이미지를 모아서 9 가지 작업을 예측하고 동시에 수행 할 수있는 모델을 개발했습니다

이 예제에서하고 싶은 것은 ESPPy를 사용하는 것입니다 또한 SAS 이벤트 스트림 처리 창에 연결할 수 있습니다 프로젝트를 구축하고 창과 상호 작용하며 모델을 배포합니다 SAS Event Stream Processing은 정말 멋집니다 여기에는 클러스터링에서 시계열 분석에 이르는 여러 스트리밍 작업이 포함됩니다

감정 분석 또는 공동 필터링과 같은 작업도 수행 할 수 있습니다 하지만이 데모에서는 이미지 처리 창과 온라인 창을 사용하겠습니다 딥 러닝 멀티 태스킹 모델을 배포 할 수 있습니다 이제 가장 먼저해야 할 일은 실제로 프로젝트를 만드는 것입니다 이 멀티 태스크를 호출하고 실제로이 셀을 실행하겠습니다

그리고 다음으로하고 싶은 것은 프로세스 흐름이나 관로 실제로 이미지를 읽으려면 소스 창이 필요합니다 우리가 일부 교육에서했던 것처럼 모델을 훈련 할 때마다 일반적으로 이미지 따라서 점수를 매길 때 20에서 20으로 크기를 조정하고 이미지 처리를 사용하겠습니다 그렇게하는 창

다음은 모델을 가져와야한다는 것입니다 모델을 학습하고 ASTORE로 저장 했으므로 모델 리더가 있습니다 그것을 읽을 수있는 창 그리고 실시간으로 점수를 생성하는 득점 창이 있습니다 그리고 보면, 프로젝트는 다음과 같습니다

나는 데이터를 읽고 이미지를 표준화하고 점수를 생성합니다 그런 다음 실제로 프로젝트를로드하고 몇 개의 출력 테이블을 설정하겠습니다 여기에 쓸 것입니다 이제 첫 번째 노트북을 사용하여 실제로 노트북을 정의하기 때문에 별도의 노트북이 있습니다 ESP 프로젝트

이 책에서는 간단히 게시하고 점수 매기기 프로세스를 시작하겠습니다 그래서 저는 팔고이 모든 것을 실행합니다 실제로 모델의 점수를 매 깁니다 다시 여기로 돌아가서 이제 이벤트 스트림 처리 엔진을 사용하겠습니다 득점

실제로 예측 확률과 함께 태그가 지정되고 라벨이 지정된 이미지가 표시되는 것을 볼 수 있습니다 작동하는 예제를 제공하는 작은 세트입니다 수면 시간은 03입니다 이벤트 스트림 처리 엔진은 실제로 초당 최대 50 프레임을 수행 할 수 있습니다

시원한 이 데모에서는 이미 멀티 태스킹 학습을 위해 개발 된 모델을 검색을 용이하게하기 위해 스트리밍 분석을 사용하여 배포 할 수있었습니다 콜이나 메이시 같은 사람 교육용 DLPy와 함께 ESPPy를 사용하면 실제로 쉽게 수행 할 수 있습니다

Down & Dirty with Machine Learning in 60 seconds!

여성 테크 메이커 60초 머신러닝에 대해 알고 싶지만 시작할 엄두가 나지 않으시나요? 패키지 매니저를 설치하는 방법이나 자신만의 환경을 설정하고 운영하는 방법을 모르시겠다고요? 이번 시간이 도움이 되실 겁니다! 머신러닝을 시작할 수 있는 간단한 방법을 알려드릴게요 60초 안에 말이죠 가장 먼저, Google 계정으로 로그인을 해야 합니다 colabresearch

googlecom에서 하실 수 있어요 영상 아래에 링크를 남겨두었습니다 'Welcome to Colaboratory!' 노트북을 연 뒤에 지시 사항을 따르면 됩니다 Colab은 브라우저에서 구동되는 Cloud 안의 주피터 노트북인데요 무료이며 GPU를 사용할 수 있죠 각 셀을 구동하려면 Ctrl과 Enter를 눌러주세요 pip install로 패키지를 설치할 수 있으며 느낌표를 달아둠으로써 셀 명령어를 시행할 수 있습니다 잘 모르겠다면 코드 스니펫을 살펴보세요 소개 과정을 마치고 나면 다른 멋진 것들도 보시게 될 거예요 Colab은 다양한 흥미로운 프로젝트를 담고 있는 곳이거든요 아래에 적어둔 researchgoogle com/seedbank에서 확인해주세요 관심 있는 프로젝트를 클릭만 하시면 돼요 여러분이 어떤 제작을 하실지 궁금한데요! 여성 테크 메이커의 YouTube 채널을 구독해주시고 친구에게 영상도 공유해주세요

Machine Learning and Product Design with Dr. Ethan Pancer – Sobey School Summer of Research

내가 정말 중점을 둔 연구 분야는 외모에 기초한 판단이며 시각 정보 처리 따라서 컴퓨터가 새로운 제품을 살펴볼 수 있습니까? 시각적으로 보이는 방식을 기반으로하고 실제로 사람들과 그것을 할 것입니다, 그것은 시장에서 기회가 있습니까? 사람들의 입수 이런 것들에 대한 평가는 중요하고 그들의 감정을 얻기 때문에 실제로 우리가 관심을 갖고 있지만 실제로하기가 어렵습니다

비싸고 시간이 많이 걸리고, 그것을 얻는 것은 정말 어렵습니다 넓은 관점 우리가 실제로 이것을 합성 할 수있는 방법이 있다면 시장에 많은 가치를 부여하는이 프로세스를 자동화 신제품 연구 컴퓨터 비전 알고리즘을 사용하면 이 프로세스를 자동화하고이 데이터를 그것이 어떻게 분류되는지, 우리가 이것에 얼마나 확신하는지 볼 수 있습니다 분류

그리고 이것은 몇 초 안에 완료 될 수 있습니다 할 수있다 수천 개의 서로 다른 디자인 반복에 대해 비용을 절감 할 수 있습니다 백 달러보다 우리가이 프로젝트에서 사용하는 것은 Google과 Google의 Cloud Vision은 다음을 수행 할 수있는 인터페이스입니다 시각적 이미지를 기반으로 정보를 추출합니다

누구와 함께 놀고 싶어 소프트웨어를 사용하면 데스크톱에서 이미지 중 하나를 가져 와서 소프트웨어에 대한 의견을 즉시 제공합니다 카테고리 용어 및 해당 분류에 대한 확신 그래서 우리는 우리는 그 정보가 카테고리에서 무엇인지에 관한 정보를 취하는가? 관점, 그 분류에 얼마나 자신감이 있는지 그리고 그것이 정보는 실제로 자금이 조달 될지 예측합니다 얼마나 많은 사람들이 지원할 것인가 실제로 모금 목표를 달성 할 것입니다 그리고 그것은 일종의 종이의 초점 우리가 새로운 것에 대해 생각할 때의 모호성의 개념 제품

제품은 우리가 전통적으로 생각하는 것에 맞을 수 있습니다 그래서 이 야구 모자를 보면 마치 야구 모자 인 것 같아요 야구 모자의 전통적인 마커를 기반으로합니다 아니면 새로운 기술 제품 스마트 폰을 볼 수 있는데 이것이 스마트 폰처럼 보입니다

그러나 만약 다른 기능, 다른 디자인 관점, 다른 시각적 요소를 추가 단서, 당신이 할 수있는 것은 실제로 소비자를 볼 수 있습니다 이 일이 무엇인지 이해하고 선의 투쟁 나쁜 점이 있으며 문헌에는 이것에 대한 혼합 증거가 있습니다 너무 극단적 인 소비자가 "나는 이것을 이해하지 못한다, 나는 그것을 원하지 않는다" 그러나 약간의 모호성을 추가하면 디자인 관점에서 약간의 흥분 카테고리 유추, 당신이 할 수있는 것은 흥분을 강화하는 것입니다 여러 카테고리 추적이 있으므로 여러 카테고리에 연결 우리가 생각하는 특정 카테고리가 아닌 다른 것들 "이것은 스마트 폰이라는 것을 알고 있습니다

" 그러나 우리의 데이터가 제안하는 것은 스마트 폰과 비슷하지만 약간 다릅니다 사람들이 원하는 것 지원하고보고 싶은 것은 약간 다른 것들입니다 그 흥분을 이끌어내어 확실히 이것들에 대한 식욕이 있습니다 모호성을 소개하는 제품 우리는 그들이 무엇인지 완전히 확신하지 못합니다 우리는 그들에 대해 더 배우고 싶습니다

그래서 그것은 일종의 연구의 테이크 아웃 균형을 찾는 것은 깔끔합니다 새로운 제품 개발을 위해 플레이 할 수있는 곳으로 알고리즘을 통해 최적의 범위가 무엇인지 평가할 수 있습니다 뭐 실제 가치는이 분류 또는 분류를 보는 것입니다 조금만 조정하면 실제로 조금 더 만들면 접근성, 그렇지 않은 경우 좀 더 혁신적으로 만들면 그것이 무엇인지 이해하면 실제로 얼마나 증가합니까? 당신이 모금하는 금액? 더 긍정적 인 피드백을 얻을 가능성이 있습니까? 시장? 더 많은 사람들이 자금을 조달 할 것인가, 더 많은 사람들이 그것을 구매할 것인가? 우리가 점점 가까워지고있는 곳입니다 이것이 첫 번째 단계 중 하나입니다

그렇게 할 수 있습니다 이것이 우리에게주는 것은 정말 흥미로운 전략입니다 통찰력 처음에는 약간 다르게하고 싶을 수도 있습니다 이 다른 신호를 통해 자금을 조달하고 사람들을 선상으로 데려 갈 수 있지만 이러한 기능 중 일부를 꺼내려는 시장에 출시합니다 하나입니다 그 반 직관적 인 발견의

당신은 생각한다면 이러한 것들은 소비자에게 이해가되어야합니다 그러나 이것들은 물건이 아닙니다 사람들이 돌아오고 싶어합니다 그들은 당신이 지원하고자하는 것이 아닙니다 특히 새로운 기술 공간에서 이번이 처음입니다 실제로 기계 학습을 수행하여이 생성 플랫폼에서 수천 가지의 디자인 반복을 생각해 내고 실제로 움직입니다 시장의 실제 상황을 측정 할 수있는 직관적 인 의미로 이러한 다양한 유형의 옵션에 응답합니다