AI 설루션 만드는 법
인공 지능 및 데이터 과학을 활용하는 소프트웨어 구축과 관련된 내용에 대해 알아보기 전에 "인공 지능"이라는 용어의 정의부터 시작하겠습니다. 인공 지능(AI)은 기계가 보여주는 지능입니다. 컴퓨터 과학에서 AI 연구 분야는 스스로를 "지능형 에이전트"에 대한 연구로 정의합니다. 즉, 환경을 인식하고 특정 목표에서 성공 가능성을 최대화하는 조치를 취하는 모든 장치입니다. 구어체로, "인공 지능"이라는 용어는 기계가 "학습" 및 "문제 해결"과 같은 인간의 다른 뇌 기능과 연관시키는 "인지" 기능을 모방할 때 적용됩니다. 인공 지능의 진화 튜링 테스트는 인공 지능을 표시하기 위한 것이지만 AI의 한 "유형"인 "약한 AI"만 시연했습니다. 어떤 유형? 인공 지능에는 두 가지 종류가 있으며 여기에 대한 정의를 볼 수 있습니다. 강력한 AI 강력한 인공 지능(AI)은 인간 지능에 해당하는 일종의 기계 지능입니다. 강력한 AI의 주요 특성에는 추론, 퍼즐 해결, 판단, 계획, 학습 및 의사소통 능력이 포함됩니다. 또한 의식, 객관적인 생각, 자각, 지각, 지성이 있어야 합니다. 강력한 AI는 진정한 지능 또는 인공 일반 지능(AGI)이라고도 합니다. 약한 AI 머신 지능은 특정하거나 좁은 영역으로 제한됩니다. 약한 인공 지능(AI)은 시간이 많이 걸리는 작업을 자동화하고 때때로 인간이 할 수 없는 방식으로 데이터를 분석하여 인간의 인지를 시뮬레이션하고 인류에게 이익을 줍니다. 이것은 때때로 Narrow AI라고 불립니다. 작성 당시 Strong AI는 단순히 존재하지 않습니다. 어떤 사람들은 그것이 결코 존재하지 않을 것이라고 생각하는 반면 다른 사람들은 그것이 곧 가능할 것이라고 생각합니다. 약한 AI의 몇 가지 예는 다음과 같습니다. 자율주행 자동차 시리 Alexa 등과 같은 챗봇 이들은 특정 틈새 또는 문제 영역 내에서만 작동할 수 있고 균형에서 벗어나는 데 많은 시간이 걸리지 않기 때문에 "약한" 것으로 간주됩니다. 이러한 약한 AI 에이전트 뒤에 있는 AI는 Tesla, Apple 또는 Amazon과 같은 조직에만 국한되지 않습니다. 최근 몇 년 동안 Microsoft와 같은 공급업체에서 Cognitive Services Platform과 IBM의 악명 높은 Watson을 통해 인공 지능 API를 상품화하는 것을 보았습니다. Elon Musk, Reid Hoffman, Peter Thiel과 같은 비즈니스 개척자들도 비영리 연구 회사인 OpenAI를 시작했습니다. OpenAI의 임무는 다음과 같습니다. “ 안전한 AGI를 구축하고 AGI의 이점이 최대한 광범위하고 고르게 분배되도록 하십시오.”대부분의 사람들은 Watson이라는 IBM Research 프로젝트에 익숙할 것입니다. 2011년에 TV 쇼 Jeopardy의 현 챔피언은 Watson과 경쟁하여졌습니다! 왓슨은 자연어(NLP)를 이해할 수 있는 딥 러닝 인공 지능의 초기 형태였습니다. 몇 년 후, 그리고 여러 인수 후 IBM은 이제 인공 지능 및 기계 학습 분야의 주요 업체가 되었습니다. IBM의 Blue Mix 카탈로그에는 다음을 포함하되 이에 국한되지 않는 개발자가 구현할 수 있는 광범위한 코그너티브 API가 포함되어 있습니다. 언어 번역 자연어 처리 및 분류 음성을 텍스트로 변환 성격 통찰력 시각적 인식 마이크로소프트 인지 서비스 Microsoft는 또한 Azure 및 REST 끝점을 통해 사용할 수 있는 Cognitive Services 플랫폼의 형태로 자체 인공 지능 및 기계 학습 구현을 보유하고 있습니다. Cognitive Services 플랫폼은 IBM의 Blue Mix 카탈로그와 유사한 API를 제공합니다. 즉, 다음을 포함하지만 이에 국한되지 않는 Bing 플랫폼과의 통합 측면에서 더 많은 옵션이 있습니다. 빙 자동 제안 Bing 엔터티 검색 빙 이미지 검색 Bing 뉴스 검색 빙 스피치 Bing 맞춤법 검사 Bing 비디오 검색 빙 웹 검색 인공 지능에서 빅 데이터의 역할 빅 데이터는 우리 주변에 있습니다. 기존 데이터 구문 분석 기술이 처리할 수 없을 정도로 크고 복잡한 데이터 세트에 부여된 이름입니다. 이러한 데이터 세트는 엔터프라이즈 네트워크, 네트워크 외부 및 소셜 미디어 채널과 같은 기타 시스템에 존재합니다. 일상적인 IT 시스템에 잠겨 있는 데이터입니다. 생성되는 빅 데이터의 양은 어마어마합니다. SocialMediaToday의 다음 인포그래픽은 얼마나 많은 데이터가 생성되는지 보여줍니다! Twitter, Instagram 및 Facebook과 같은 온라인 서비스에 대한 사용자 채택이 증가함에 따라 사용자 생성 콘텐츠의 양이 증가할 것이라는 점을 확신할 수 있습니다. 하지만 빅 데이터와 인공 지능 사이의 연관성은 무엇입니까? 위의 인포그래픽에서 이러한 통계 중 일부를 고려하십시오. 60초마다: Google에서 600만 번 검색 46,000명의 사용자가 Instagram에 사진을 게시합니다. YouTube에서 본 백만 개의 동영상 1,500만 개의 문자 메시지 전송 이것은 분명히 많은 정보입니다. ETL과 같은 기존 소프트웨어 프로그래밍 및 데이터 처리 기술은 이러한 데이터 세트를 확장하고 처리할 수 없습니다. 이 아이디어를 얻으려면 다음 예를 고려하십시오. 당신은 이메일 스팸 필터를 작성하는 일을 맡은 개발자입니다. 다음은 그러한 소프트웨어를 작성하기 위해 취할 수 있는 몇 가지 단계입니다. 먼저 스팸 이메일 샘플을 가져와 어떻게 생겼는지 확인합니다. " 비아그라 구매 " " 돈 벌기 " 와 같은 키워드나 문구를 발견할 수 있습니다. 당신은 이것을 "블랙리스트"에 추가할 것입니다. 다음으로, 이러한 단어나 구를 식별하기 위해 C#/. NET에서 일부 문자열 조작 방법을 코딩합니다. 그런 다음 이러한 내용이 포함된 이메일에 플래그를 지정할 수 있습니다. 마지막으로 애플리케이션을 테스트하고 코드가 스팸 이메일의 적절한 비율을 포착할 때까지 1단계와 2단계를 반복합니다. 이 접근 방식은 효과가 있지만 그 결과 하드 코딩된 문자열 조작 비즈니스 규칙이 많이 포함된 유지 관리 악몽이 될 것입니다. "새로운" 스팸 유형이 발견될 때마다 애플리케이션 소스 코드의 후드를 들어 올려 변경해야 한다는 것은 말할 것도 없습니다. 해결책은 무엇입니까? 인공 지능과 머신 러닝이 정말 빛을 발하는 곳입니다. 모델을 구현하고 알고리즘을 활용하여 다양한 형태의 방대한 양의 비정형 데이터로 보이는 것을 처리함으로써 데이터 과학자는 데이터 과학자가 데이터 세트의 패턴을 식별하는 강화 학습을 통해 소프트웨어를 개발하고 "훈련"할 수 있습니다. 또한 데이터 세트의 특정 레코드를 분류하려고 시도할 수 있으며 경우에 따라 사람의 개입을 최소화하면서 이 작업을 수행하는 방법을 배웁니다. 이를 통해 인공 지능을 활용하는 애플리케이션을 구축할 수 있습니다. 인공 지능으로 소프트웨어 구축 지금까지 요약하자면 다음과 같습니다. 인공 지능과 기계 학습의 역사 인공 지능의 종류 일부 기계 학습 제공 빅데이터의 역할 인공 지능이나 머신 러닝을 탐구할 생각이라면 스스로에게 다음과 같은 질문을 던져야 합니다. 소프트웨어 설루션에 인공 지능을 구현해야 합니까? 또 다른 질문을 제기합니다. 인공 지능을 구현해야 하는지 어떻게 알 수 있습니까!? 다음은 몇 가지 지침입니다. 방대한 양의 데이터를 처리합니까? 데이터가 다양한 형식으로 되어 있습니까? 자주 변경되는 매개변수를 처리하고 있습니까? 데이터가 모든 증가하는 속도로 도착합니까? 이 대부분의 항목에 예라고 답했다면 인공 지능과 기계 학습을 기술 스택에 통합하는 것을 고려할 수 있습니다. 이 주제에 대한 더 나은 통찰력을 얻으려면 인공 지능의 장단점을 확인하십시오. 이메일 스팸 관리 이전의 이메일 스팸 문제를 생각해 보십시오. 기존 프로그래밍 기술을 사용하여 이 응용 프로그램을 구현함으로써 발생했던 문제를 기억하십니까? 이 대부분은 AI/ML 접근 방식을 구현하여 완화할 수 있습니다. 문제 이메일 스팸 탐지는 궁극적으로 텍스트 분류 문제입니다. 다행히도 이것은 잘 연구된 영역이며 기계에서 새 수신 이메일이 속하는 범주를 결정하기 위해 몇 가지 기술을 사용할 수 있습니다. 알고리즘 및 접근 방식 어떤 API를 사용할 것인지에 대해 자세히 알아보기 전에 지도 학습을 사용하여 이러한 설루션에 접근할 수 있는 방법에 대한 배경을 이해하는 것이 도움이 될 수 있습니다. 이에 익숙하지 않은 경우 지도 학습은 "분류기" 구성을 포함하는 기술입니다. 분류기는 텍스트를 범주(레이블이라고도 함)로 분류하는 역할을 합니다. 일부 분류 기술은 다음과 같습니다. 나이브 베이즈 최대 엔트로피 서포트 벡터 머신(SVM) Naive Bayes는 기계가 이메일이 속한 카테고리를 식별하는 비교적 간단하고 정확한 방법입니다. 베이지안 정리는 최근 증거를 고려하여 예측에 도달하는 데 사용되는 확률 이론입니다. 이 정리는 영국의 장로교인이자 수학자인 Thomas Bayes에 의해 발견되었으며 사후 1763년에 출판되었습니다. 규칙은 다음과 같이 작성됩니다. p(A|B) = p(B|A) p(A) / p(B) 규칙을 해체하기 위해 규칙을 구성하는 각 구성 요소에 대한 설명은 다음과 같습니다. 피(A|B) 'A가 주어진 B의 확률'. 이것은 기본적으로 증거 B의 일부가 존재한다고 가정할 때 관찰 A를 찾을 확률을 의미합니다. 이것이 우리가 찾고자 하는 것입니다. (분) 피(B|A) 이것은 결과가 얻어졌을 때 증거가 나올 확률입니다. 아빠) 이것은 새로운 증거에 대한 지식 없이 결과가 발생할 확률입니다. P(스팸 |단어) = P(단어/스팸) P(스팸) / P(단어) 이것은 모두 훌륭하지만 데이터와 값 없이는 시각화하기 어려울 수 있습니다. 따라서 위의 사항을 고려하여 100개의 이메일 데이터베이스가 있다고 상상해 보십시오. 우리는 또한 "구매"라는 단어가 포함된 이메일이 스팸 이메일이라고 생각합니다. 이제 Bayes Rule을 적용할 수 있습니다. 훈련 데이터 · 총 100개의 이메일 · 100개의 이메일 중 60개가 스팸입니다. · 스팸 메일 60개 중 48개에 "구매"라는 단어가 포함되어 있습니다. · 스팸 메일 60개 중 12개에 "구매"라는 단어가 없습니다. · 100개의 이메일 중 40개가 스팸이 아닙니다. · 스팸이 아닌 이메일 40개 중 4개에는 "구매"라는 단어가 있습니다. · 스팸이 아닌 이메일 40개 중 36개에 "구매"라는 단어가 없습니다. 내용에 "구매"라는 단어가 포함된 이메일이 스팸일 확률은 얼마입니까? 위의 답변은 다음과 같습니다. "구매"라는 단어가 포함된 스팸 이메일이 48개 있습니다. 그리고 "구매"라는 단어가 포함된 52개의 이메일이 있습니다. 48개는 스팸이고 4개는 스팸이 아닙니다. 따라서 이메일에 "구매"라는 단어가 있는 경우 스팸일 확률은 48/52 = 0.92입니다. 앞서 언급했듯이 규칙과 표기법은 확률을 기반으로 하므로 수량보다는 확률을 사용하여 문제를 재정의할 수 있습니다. 동일한 이메일 데이터베이스를 사용합니다. 해당 이메일의 60%는 스팸입니다. 스팸 이메일의 80%에는 "구매"라는 단어가 있습니다. 스팸 이메일의 20%에는 "구매"라는 단어가 없습니다. 해당 이메일의 40%는 스팸이 아닙니다. 스팸이 아닌 이메일의 10%에는 "구매"라는 단어가 있습니다. 스팸이 아닌 이메일의 90%에는 "구매"라는 단어가 없습니다. 이메일에 "구매"라는 단어가 있는 경우 스팸일 확률은 얼마입니까? 답에 도달하는 표기법은 다음과 같습니다. P(스팸) = 이메일이 스팸일 확률 P(스팸 아님) = 이메일이 스팸이 아닐 확률 P("구매"|스팸) = 스팸인 이메일에 "구매"라는 단어가 있을 확률 P("구매"|스팸 아님) = 스팸이 아닌 이메일에 "구매"라는 단어가 있을 확률 P(spam|"buy") = "buy"라는 단어가 포함된 이메일이 스팸일 확률 따라서 P(spam|”buy”)는 우리가 찾고 있는 답입니다. P("구매"|스팸) * P(스팸)은 스팸이고 "구매"라는 단어가 있는 모든 이메일을 계산합니다. P("구매"|스팸 아님) * P(스팸 아님)는 스팸이 아닌 모든 이메일을 계산합니다. 스팸 및 "구매"라는 단어 가 있음 이전 두 개의 P("구매"|스팸) * P(스팸) + P("구매"|스팸 아님) * P(스팸 아님) 단어가 있는 모든 이메일을 계산합니다. "구입" 결과 방정식이 다음과 같다는 의미: (이것은 베이지안 정리입니다) P(스팸|"구매") = P("구매"|스팸) * P(스팸) / (P("구매"|스팸) * P(스팸) + P("구매"|스팸 아님) * P( 스팸 아님)) 또는 숫자를 삽입하려면: 0.8 * 0.6 / (0.8*0.6 + 0.1*0.4) = 0.48 / 0.52 시뮬레이션 결과: 0.922248596074798 일반 영어로 이 분류 모델을 통해 수신 이메일을 실행한 후 이메일에 "구매"라는 단어가 포함되어 있으면 스팸 폴더에 배치되어야 한다고 92%의 확률로 안전하게 가정할 수 있습니다! 훈련 데이터 분류기는 미래의 텍스트 분류를 결정하기 전에 샘플 데이터 세트로 "훈련"되어야 합니다. 우리의 이메일 예에서는 100개의 이메일이 있었고 일부는 "구매"라는 단어가 포함되어 있고 나머지는 그렇지 않았습니다. 정확한 훈련 데이터가 없으면 기계는 미래의 사건에 대해 신뢰할 수 있는 예측을 정확하게 할 수 없습니다. API 이론과 예제는 생략하고 이제 기계가 확률을 결정하는 방법을 이해할 수 있습니다. 문자열 패턴과 복잡한 비즈니스 규칙의 수많은 조합을 코딩하는 대신 수학을 사용하여 스팸 식별을 결정할 수 있습니다. 이것은 기계가 탁월한 사용 사례입니다! 좋은 소식은 Bayes Rule과 같은 정리를 코딩할 필요가 없다는 것입니다. 이제 Microsoft 및 IBM과 같은 회사에서 무거운 작업을 대신 처리해 줍니다. Microsoft Azure에서 계정을 만들고 REST 끝점으로 노출되는 인공 지능 API를 활용할 수 있습니다. 매개변수를 전달하기만 하면 API가 결과와 함께 JSON을 반환합니다. 예를 들어 Azure를 사용하면 주제 감지 API가 제공됩니다. 제출된 텍스트 레코드 목록에 대해 감지된 주제를 반환합니다. 주제는 하나 이상의 관련 단어가 될 수 있는 핵심 구로 식별됩니다. 이는 리뷰 및 사용자 피드백과 같이 사람이 쓴 짧은 텍스트를 마이닝하는 데 이상적입니다. 스택에 이와 같은 API를 도입하면 비즈니스가 기존 데이터 세트에서 실행 가능한 통찰력을 얻는 데 도움이 될 수 있습니다. 다음 스크린숏에서 작동 중인 주제 감지 API의 예를 볼 수 있습니다. 인공 지능의 추가 응용 우리는 이메일 분류를 다루었고 실행 가능한 통찰력을 얻기 위해 데이터를 마이닝하는 방법을 설명했습니다. 인공 지능이 적용되기 시작하는 다른 잠재적 영역 은 다음과 같습니다. AdTech 및 감정 분석 영국의 신생 기업인 SocialOpinion 은 인공 지능을 활용하여 소셜 미디어에서 브랜드, 제품 및 서비스의 현재 감정을 식별합니다. 이 외에도 Microsoft Cognitive Services LUIS를 사용하여 판매 리드를 시도하고 결정합니다. 범죄 예측 회사 Pred Pol 은 빅 데이터, 기계 학습 알고리즘 및 분석을 활용하는 소프트웨어 제품을 구축했습니다. 비전은 소프트웨어가 과거 데이터 세트를 사용하여 범죄 위치와 시간을 예측하고 경찰관이 이러한 범죄가 발생하지 않도록 사전에 예방할 수 있는지 확인하는 것이었습니다. 이를 달성하는 데 도움이 되는 소프트웨어는 다음과 같습니다. 과거형 범죄 범죄 장소 범죄의 날짜/시간. 연구에 따르면 추가 범죄는 원래 범죄 장소 근처에서 발생하는 경향이 있습니다. 각 교대조가 시작될 때 경찰관은 잠재적 범죄 핫스폿을 나타내는 상자가 겹쳐진 Google 지도를 검사합니다. 메트릭이 맞다면 모델 정확도는 범죄를 줄이는 데 크게 도움이 됩니다. 무인 자동차( Driverless Cars ) 컴퓨터 그래픽 분야의 역사가 20년이 넘은 NVidia는 Audi와 제휴하여 NVIDIA DRIVE PX로 구동되는 차세대 자율 차량 또는 "AI Car"라고 불리는 이 컴퓨터 비전 기술을 구축하기 위해 파트너십을 맺었습니다. 차량 주변에서 일어나는 일, 지도상의 위치 자체를 실시간으로 파악하고 안전한 경로를 미리 계획합니다. 인공 지능의 미래 작성 당시 페이스북은 자체 언어를 생성하는 AI 시스템을 개발했습니다. 시스템은 자체적으로 의사소통할 수 있는 보다 세련된 어휘를 개발했으며 Facebook의 프로그래머는 더 이상 읽을 수 있는 영어로 의사소통할 수 없다는 것을 깨달았을 때 시스템을 종료했습니다. 이 시스템은 원래 영어로 교육을 받았지만 곧 각 "AI 에이전트"와 더 효율적인 의사소통 방법이 있다는 것을 깨달았을 때 이것에서 벗어났습니다. 매트릭스 누군가?! 요약 이 블로그 게시물에서 AI의 기원, 구현 방법(그리고 구현해야 하는 경우)과 복잡한 알고리즘 및 모델 교육으로부터 사용자를 보호하는 현재 API 중 일부를 살펴보았습니다. 자주 관련된 작업. 우리가 원하는 만큼 인공 지능의 미래를 예측하는 것은 어려울 수 있습니다. AI를 위한 AI만 있다면 인지 컴퓨팅은 진화하는 공간입니다. 이 블로그를 읽어 주셔서 감사합니다. 이 블로그가 재미있었다면 동료, 친구 또는 관심이 있을 만한 다른 사람과 자유롭게 공유하십시오. AI 시스템을 만들고 싶다면 DevTeam.Space에 연락하여 전문 AI 및 ML 개발자를 찾으십시오. 우리 개발자 커뮤니티는 Python에서 Keras 및 PyTorch에 이르기까지 모든 최신 기술 스택과 프로그래밍 언어를 다루고 있으며 iOS 앱에서 대기업 사내 비즈니스 시스템에 이르기까지 모든 것을 위한 다양한 AI 설루션을 이미 구축했습니다.