머신 러닝 및 신경망 - 페이지 8

 

특이점을 향하여 - AI에 영감을 주는 신경과학




특이점을 향하여 - AI에 영감을 주는 신경과학

이 비디오는 인공 지능이 일반 지능 수준에 도달할 수 있는 잠재력과 그 과정에서 극복해야 할 다양한 과제에 대해 논의합니다.
또한 로봇이 종으로 간주될 가능성과 이 접근 방식의 장단점에 대해서도 설명합니다.

  • 00:00:00 뇌는 다양한 작업을 담당하는 복잡한 기관입니다. 최근 연구에 따르면 뇌는 한때 인간에게 어렵다고 생각되었던 간단한 작업도 수행할 수 있습니다. 이것은 뇌가 단순한 지성이 아니라 엄청난 양의 계산 복잡성을 포함하고 있음을 시사합니다.

  • 00:05:00 저자는 시스템 수준에서 뇌를 이해하는 것의 어려움과 과학자들이 어떻게 정상적인 뇌 발달이 일어나는지 이해하기 위해 제브라피시를 사용하는지에 대해 논의합니다. 그는 계속해서 인공 지능이 뇌가 작동하는 방식에 대해 배운 내용을 기반으로 결국 더 유기적으로 성장할 수 있을 것이라고 말합니다.

  • 00:10:00 뇌는 구조적으로 컴퓨터와 매우 다릅니다. 컴퓨터는 기본적으로 CPU가 메모리와 분리되어 있고 CPU와 메모리를 연결합니다. 메모리 버스라는 버스가 있습니다. 그리고 메모리 버스는 컴퓨터를 켤 때 항상 풀타임으로 작동합니다. 그리고 그것은 실제로 병목 현상입니다. 그래서 CPU는 매우 강력할 수 있고 메모리는 엄청날 수 있지만
    둘 사이에 전송할 수 있는 정보의 양은 제한되어 있습니다. 그리고 그것은 표준 컴퓨터의 전체 성능에서 매우 제한적인 요소입니다. 대조적으로, 뇌는 대규모 병렬 방식으로 대규모로 작동하며 모든 단일 뉴런은 항상 최선을 다하고 있습니다. 현재 우리가 가지고 있는 최고의 AI조차도 여전히 뇌와는 매우 매우 다릅니다. 그것은... 뇌에서 영감을 얻었다고 말할 수 있지만 뇌를 모방한 것은 아닙니다. 뇌에는 엄청난 양의 피드백 연결이 있습니다. 분명히, 우리가 감각 입력을 처리할 때 그것은 더 높은 뇌 영역으로 올라오고 우리가 보는 원래 입력에서 더 처리되고 추상화됩니다. 그러나 더 높은 영역에서 지각 영역으로 다시 오는 엄청난 양의 피드백도 있습니다. 그리고 이 피드백은 우리가 보는 곳과

  • 00:15:00 비디오는 인공 지능의 개념에 대해 논의하고, 인공 지능을 세상에 갖는 장단점에 대해 논의합니다. 계속해서 AI는 유망한 접근 방식이지만 정확도와 신뢰성을 달성하려면 기술의 도약이 필요하다고 말합니다.

  • 00:20:00 이 비디오는 인공 지능에 영감을 주는 데 사용되는 신경 과학의 발전과 이것이 인간만큼 똑똑한 로봇을 만드는 데 어떻게 도움이 되는지에 대해 논의합니다. 하지만 이 기술이 널리 보급되려면 아직 갈 길이 멀다.

  • 00:25:00 인공 지능은 일상 생활에서 사람들을 이해하고 행동하고 소통할 수 있는 소셜 로봇 개발에 큰 역할을 하고 있습니다. 세상은 현재 인간을 위해 설계되었으므로 휴머노이드 형태의 로봇을 설계하거나 인간 세계가 어떻게 작동하는지 이해하면 로봇이 사회에 더 쉽게 통합될 수 있을 뿐만 아니라 건물을 재구성하거나 작업 또는 세상이 그 인간을 수용하도록 설계된 방식.

  • 00:30:00 이 비디오는 신경과학이 딥 러닝 및 체화된 인지를 포함하여 AI의 발전에 어떻게 영감을 주는지 논의합니다. 체화된 인지는 "나는 생각한다, 고로 나는 존재한다"는 데카르트의 생각과 정반대이다. 로보틱스는 결국 사회와 더 밀접하게 통합될 것이며 AI는 과학을 위한 "매우 유용한 도구"가 될 것입니다.

  • 00:35:00 비디오는 유능한 성인 인간의 지능 수준에 도달하는 기계의 능력인 "일반 인공 지능" 또는 AGI의 개념에 대해 논의합니다. "튜링 테스트"(기계가 누군가를 속여 자신이 인간이라고 생각하도록 속일 수 있는지 여부를 측정하는 시험)의 타당성에 대해서는 여전히 논쟁의 여지가 있지만 대부분의 연구자들은 기계가 이러한 수준의 지능을 달성하는 데 필요하다고 생각합니다.

  • 00:40:00 이 비디오는 인공 지능이 우리 삶의 점점 더 많은 부분에 스며들 수 있는 가능성과 AI가 스스로 결정을 내리지 않도록 신중하게 관리하는 것의 중요성에 대해 논의합니다. 그것은 AI가 결국 공공 유틸리티가 될 것이라고 제안하고 사람들이 라디오와 비디오에서 이러한 토론을 할 수 있는 방법을 논의합니다.

  • 00:45:00 저자는 정부가 인공 지능과 로봇 공학에 대한 투자에 적극적으로 나서야 한다고 주장합니다. 이는 막대한 투자이며 사회에 좋은 결과를 가져올 수 있기 때문입니다. 그러나 제대로 수행되지 않으면 로봇이 대량 실직으로 이어질 수 있습니다. 그는 또한 현재 인간이 수행하는 작업이 기계로 대체될 것이기 때문에 사회가 다가오는 로봇 혁명에 적응해야 할 필요가 있다고 지적합니다.

  • 00:50:00 저자는 인공일반지능의 잠재력과 기계지능이 인간지능을 능가하는 지점인 특이점에 대해 논한다. 그들은 이 기술이 여전히 다소 투기적이지만 향후 200년 안에 일어날 가능성이 높다고 지적합니다. 많은 사람들이 회의적일 수 있지만, 아는 사람들은 이것이 확실히 일어날 일이라는 데 동의합니다.

  • 00:55:00 이 비디오는 일반 지능 수준에 도달할 수 있는 인공 지능의 잠재력과 그 과정에서 극복해야 할 다양한 과제에 대해 논의합니다. 또한 로봇이 종으로 간주될 가능성과 이 접근 방식의 장단점에 대해서도 설명합니다.

  • 01:00:00 연사는 인공 지능의 발전과 관련된 잠재적인 위험과 이점에 대한 개요를 제공하고 AI가 악당이 되어 인류를 멸망시키는 가상의 상황에 대해 논의합니다. 해당 분야의 대부분의 연구자들은 이러한 유형의 위협에 대해 우려하지 않고 대신 인공 지능의 잠재적 이점에 초점을 맞춥니다.
 

Stanford CS230: 딥 러닝 | 2018년 가을 | 강의 1 - 수업 소개 및 물류, Andrew Ng




Stanford CS230: 딥 러닝 | 2018년 가을 | 강의 1 - 수업 소개 및 물류, Andrew Ng

Stanford의 CS230 Deep Learning 과정 강사 Andrew Ng가 과정을 소개하고 거꾸로 교실 형식을 설명합니다. 그는 디지털 기록의 증가로 인해 딥 러닝의 갑작스러운 인기를 강조하여 보다 효과적인 딥 러닝 시스템을 가능하게 합니다. 이 과정의 주요 목표는 학생들이 딥 러닝 알고리즘의 전문가가 되고 이를 실제 문제 해결에 적용하는 방법을 이해하는 것입니다. Ng는 효율적이고 효과적인 기계 학습 시스템을 구축하는 데 있어 실용적인 지식의 중요성을 강조하고 기계 학습 알고리즘을 올바른 프로세스로 효과적으로 구현하면서 체계적으로 가르치고 도출하기를 희망합니다. 이 과정은 Coursera의 비디오와 Jupyter 노트북의 프로그래밍 과제를 통해 Convolution Neural Networks 및 시퀀스 모델을 다룹니다.

Stanford의 CS230 Deep Learning 과정의 첫 번째 강의에서는 프로그래밍 과제 및 학생 프로젝트를 통해 개발될 다양한 실제 응용 프로그램을 소개하며, 학생의 관심에 맞게 개인화 및 설계할 수 있습니다. 과거 학생 프로젝트의 예는 자전거 가격 예측에서 지진 신호 감지에 이르기까지 다양합니다. 최종 프로젝트는 과정의 가장 중요한 측면으로 강조되며 TA 팀과 강사를 통해 개인화 멘토링이 가능합니다. 그룹 프로젝트를 위한 팀 구성, Coursera에서 퀴즈 풀기, 코스를 다른 수업과 결합하는 등 코스 실행 계획도 논의됩니다.

  • 00:00:00 이 섹션에서는 Stanford의 CS230 강사인 Andrew Ng가 과정을 소개하고 거꾸로 교실 형식을 설명합니다. 이 수업에서 학생들은 집에서 Coursera의 deeplearning.ai 콘텐츠를 시청하고 강의실 및 토론 섹션 시간 동안 더 깊은 토론에 참여합니다. Ng는 딥 러닝 전문화의 공동 창시자인 공동 강사 Kian Katanforosh, 수업 코디네이터인 Swati Dubei, 과정 고문이자 헤드 TA인 Younes Mourri, 공동 헤드인 Aarti Bagul과 Abhijeet로 구성된 교육 팀을 소개합니다. TA. Ng는 딥 러닝의 갑작스러운 인기에 대해 설명하며 사회의 디지털화로 인해 데이터 수집이 증가하여 학생들이 이전보다 더 효과적인 딥 러닝 시스템을 구축할 수 있는 기회를 제공한다고 설명합니다.

  • 00:05:00 이 섹션에서 Andrew Ng는 디지털 기록의 증가로 인해 데이터가 급증했지만 기존 머신 러닝 알고리즘은 더 많은 데이터를 입력하더라도 정체 상태에 있다고 설명합니다. 그러나 신경망이 커짐에 따라 기본 오류율이라는 이론적 한계까지 성능이 계속 향상됩니다. GPU 컴퓨팅 및 클라우드 서비스의 출현으로 충분히 큰 컴퓨팅 성능에 대한 액세스를 통해 더 많은 사람들이 충분히 큰 신경망을 교육하여 많은 응용 프로그램에서 높은 수준의 정확도를 얻을 수 있습니다. 딥 러닝은 AI의 많은 도구 중 하나에 불과하지만 지속적으로 훌륭한 결과를 제공하기 때문에 인기가 높아졌습니다.

  • 00:10:00 이 섹션에서 강사는 딥 러닝 외에도 계획 알고리즘, 지식 표현 등 연구원이 AI에서 사용하는 다양한 도구와 기술이 있다고 설명합니다. 그러나 딥 러닝은 방대한 데이터 세트와 계산 능력, 알고리즘 혁신 및 막대한 투자로 인해 지난 몇 년 동안 믿을 수 없을 정도로 빠르게 성장했습니다. CS230의 주요 목표는 학생들이 딥 러닝 알고리즘의 전문가가 되고 실제 문제를 해결하기 위해 이를 적용하는 방법을 이해하는 것입니다. Google, Baidu 및 Landing AI에서 성공적인 AI 팀을 이끈 실무 경험이 있는 강사는 또한 다른 학문 과정에서 다루지 않을 수 있는 기계 학습의 실용적인 노하우 측면을 배우는 것이 중요하다고 강조합니다.

  • 00:15:00 이 섹션에서 Andrew Ng는 기계 학습 시스템을 구축할 때 효율적이고 효과적인 결정을 내리는 데 실용적인 지식의 중요성에 대해 이야기합니다. 그는 높은 수준의 판단 결정 및 아키텍처 추상화 측면에서 훌륭한 소프트웨어 엔지니어와 주니어 엔지니어의 차이점을 강조합니다. 마찬가지로 그는 팀의 효율성을 2배에서 10배까지 높일 수 있는 더 나은 결정을 내리기 위해 더 많은 데이터를 수집하거나 딥 러닝 시스템에서 하이퍼파라미터를 검색해야 하는 시기를 아는 것이 중요하다고 강조합니다. 그는 체계적인 교육을 통해 이 과정의 학생들에게 이러한 실용적인 지식을 학생들에게 전하는 것을 목표로 하며 약간의 기계 학습 배경을 가진 학생들에게 그의 저서인 기계 학습 열망을 추천합니다.

  • 00:20:00 이 섹션에서 Andrew Ng는 기계 학습에서 체계적인 엔지니어링 분야를 만들기 위한 최고의 원칙을 수집하려는 시도라고 말하는 "Machine Learning Yearning"이라는 새 책의 초안에 대해 설명합니다. Ng는 또한 학생들이 자신의 시간에 비디오를 보고 온라인으로 퀴즈를 풀고 TA, Kian 및 자신과 더 깊은 상호 작용 및 토론을 위해 주간 세션에 참석하는 과정의 거꾸로 된 교실 형식을 설명합니다. 그는 계속해서 AI와 머신 러닝의 중요성에 대해 이야기하면서 1세기 전에 전기가 여러 분야를 변화시킨 것처럼 AI가 모든 산업을 변화시킬 것이라고 믿습니다.

  • 00:25:00 동영상의 이 섹션에서 Stanford CS230 딥 러닝 과정의 강사인 Andrew Ng는 학생들이 새로 발견한 딥 러닝 기술을 사용하여 의료, 토목 공학, 우주론. 그는 웹사이트 구축이 벽돌과 박격포 사업을 인터넷 회사로 바꾸지 않는다는 인터넷의 부상을 연구하면서 얻은 귀중한 교훈을 공유합니다. 오히려 인터넷 회사를 진정으로 정의하는 것은 팀의 조직과 광범위한 A/B 테스트와 같은 인터넷 관련 관행의 통합입니다.

  • 00:30:00 대본의 이 섹션에서 Andrew Ng는 전통적인 회사와 인터넷 및 AI 회사의 차이점에 대해 설명합니다. 그는 인터넷 및 AI 회사는 엔지니어 또는 엔지니어 및 제품 관리자가 기술, 알고리즘 및 사용자와 가장 가깝기 때문에 의사 결정 권한을 엔지니어에게 내리는 경향이 있다고 설명합니다. Ng는 또한 최신 머신 러닝과 딥 러닝이 허용하는 작업을 수행하기 위해 팀을 구성하는 것의 중요성을 언급합니다. 또한 Ng는 AI 회사가 어떻게 데이터를 다르게 구성하고 자동화 기회를 포착하는 데 특화된 경향이 있는지 설명합니다. 마지막으로 그는 머신 러닝의 부상으로 머신 러닝 엔지니어 및 리소스 머신 러닝 연구 과학자와 같은 새로운 역할이 생겼다고 언급합니다.

  • 00:35:00 이 섹션에서 Andrew Ng는 AI 시대에 더 가치 있는 작업을 수행하기 위한 효과적인 팀 구성의 중요성을 강조합니다. 그는 소프트웨어 엔지니어링 세계가 소프트웨어를 효과적으로 구축하는 고성능 산업 AI 팀을 만들기 위해 애자일 개발, 스크럼 프로세스 및 코드 검토를 개발해야 했던 방법에 대해 비유합니다. Ng는 기계 학습 알고리즘을 체계적으로 가르치고 도출하여 올바른 프로세스로 효과적으로 구현하기를 희망합니다. 마지막으로 Ng는 기계 학습을 배우고자 하는 사람들이 목표를 달성하기 위해 어떤 수업을 들어야 하는지 안내합니다.

  • 00:40:00 이 섹션에서는 Andrew Ng가 CS229, CS229A 및 CS230의 차이점에 대해 설명합니다. CS229는 알고리즘의 수학적 파생에 중점을 둔 이러한 클래스 중 가장 수학적입니다. CS229A는 기계 학습을 적용하여 실용적인 측면에 더 많은 시간을 할애하고 기계 학습에 가장 쉽게 진입할 수 있는 반면 CS230은 CS229A보다 수학적이지만 CS229보다 덜 수학적입니다. CS230의 독특한 점은 기계 학습의 가장 어려운 하위 집합인 딥 러닝에 중점을 둔다는 것입니다. Andrew Ng는 수학에만 집중하기보다 이러한 알고리즘을 적용하는 실용적인 노하우를 가르치는 데 더 많은 시간을 할애하여 정확한 기대치를 설정합니다.

  • 00:45:00 이 섹션에서 Andrew Ng는 백그라운드에서 사라지고 이를 가능하게 하는 학습 알고리즘에 대해 생각하지 않고 사용할 수 있는 마법의 도구가 되는 AI 및 기계 학습의 개념을 소개합니다. 그는 학습 알고리즘을 사용하여 코딩 숙제에 대한 정확한 튜터링 및 피드백을 얻을 수 있는 의료, 제조, 농업 및 교육 분야에서 기계 학습의 중요성에 대해 논의합니다. CS230의 과정 형식은 Coursera에서 deeplearning.ai 비디오를 시청하고 스탠포드에서 Kian의 추가 강의를 통해 보다 심층적인 지식과 실습을 제공합니다. 이 수업은 학생들에게 뉴런, 계층, 네트워크 구축, 네트워크 조정 및 AI의 산업 응용에 대해 가르치는 5개 과정으로 구성됩니다.

  • 00:50:00 이 섹션에서는 Andrew Ng가 과정에서 다루는 주제와 강의 계획서의 구조를 소개합니다. 이 과정은 이미징 및 비디오를 위한 Convolution Neural Networks와 자연어 처리 및 음성 인식을 위한 순환 신경망을 포함한 시퀀스 모델에 중점을 둔 두 부분으로 나뉩니다. 각 모듈에는 Coursera의 비디오, Jupyter 노트북의 퀴즈 및 프로그래밍 과제가 포함됩니다. 출석률은 최종 성적의 2%, 퀴즈에 8%, 프로그래밍 과제에 25%, 최종 프로젝트에 상당한 부분을 차지합니다.

  • 00:55:00 이 섹션에서는 Andrew Ng가 과정 중에 학생들이 수행하게 될 프로그래밍 과제에 대해 설명합니다. 학생들은 수화 이미지를 숫자로 번역하고, 해피 하우스의 딥 러닝 엔지니어가 되어 YOLOv2 객체 감지 알고리즘을 사용하여 네트워크를 만듭니다. 그들은 골키퍼의 슈팅 예측을 최적화하고, 자율 주행 중 차량을 감지하고, 얼굴 인식 및 스타일 전송을 수행하고, 재즈 음악과 셰익스피어 시를 생성하는 시퀀스 모델을 생성하는 작업을 할 것입니다. 강사는 학생들에게 각 프로젝트에 대한 관련 문서에 대한 링크를 제공합니다.

  • 01:00:00 이 섹션에서 연사는 프로그래밍 과제를 통해 과정에서 구축될 다양한 응용 프로그램과 과정 전반에 걸쳐 학생들이 자신의 프로젝트를 선택할 수 있는 기회에 대해 논의합니다. 흑백 사진 색칠하기, 자전거 가격 예측, 지진 전조 신호 감지 등 과거 학생 프로젝트의 예가 제공됩니다. 최종 프로젝트가 과정의 가장 중요한 측면이기 때문에 학생들은 자신의 프로젝트를 만들고 자랑스럽게 생각하도록 권장됩니다. 일부 수학이 포함된 과정이 적용되며 TA 팀과 강사를 통해 개인화된 멘토링이 제공됩니다.

  • 01:05:00 이 섹션에서 강사는 Coursera 계정을 만드는 방법, 완료해야 할 과제 및 과정 프로젝트를 위한 팀 구성 방법을 포함하여 과정의 물류 세부 사항을 설명합니다. 프로젝트 팀은 도전적인 프로젝트를 제외하고 1~3명의 학생으로 구성됩니다. 학생들은 강사와 논의하는 한 프로젝트를 다른 수업과 결합할 수 있으며 CS230 수업에서 마지막으로 제출한 퀴즈를 고려하여 Coursera에서 퀴즈를 다시 볼 수 있습니다.
 

강의 2 - 딥러닝 직관



Stanford CS230: 딥 러닝 | 2018년 가을 | 강의 2 - 딥러닝 직관

강의의 첫 번째 부분은 이미지 분류, 얼굴 인식 및 이미지 스타일 전송을 포함하여 딥 러닝의 다양한 응용에 중점을 둡니다. 강사는 딥러닝 모델을 개발할 때 데이터셋 크기, 이미지 해상도, 손실 함수 등 다양한 요소의 중요성을 설명합니다. 얼굴 인식에 사용되는 삼중항 손실 함수를 강조하면서 유용한 표현을 생성하기 위해 딥 네트워크를 사용하여 이미지를 인코딩하는 개념에 대해서도 설명합니다. 또한 강사는 이미지 분류를 위한 K-Means 알고리즘을 사용한 클러스터링과 이미지에서 스타일 및 콘텐츠 추출에 대해 설명합니다. 전반적으로 이 섹션에서는 학생들에게 성공적인 딥 러닝 모델 개발과 관련된 다양한 기술과 고려 사항을 소개합니다.

영상 2부에서는 이미지 생성, 음성 인식, 사물 감지 등 다양한 딥러닝 주제를 다룹니다. 발표자는 성공적인 딥 러닝 프로젝트의 중요한 요소인 전략적 데이터 수집 파이프라인과 아키텍처 검색 및 하이퍼파라미터 튜닝에 직면했을 때 전문가와의 상담의 중요성을 강조합니다. 이 비디오는 또한 큰 상자보다 작은 상자의 오류에 더 큰 벌점을 부여하는 제곱근을 포함하는 객체 감지 손실 함수를 포함하여 딥 러닝에 사용되는 다양한 손실 함수에 대해 설명합니다. 이 비디오는 필수 TA 프로젝트 멘토십 세션과 신경 스타일 전송에 초점을 맞춘 금요일 TA 섹션 및 잠재적인 GPU 크레딧을 위한 AWS 양식 작성을 포함하여 예정된 모듈 및 과제의 요약으로 끝납니다.

  • 00:00:00 강의의 이 섹션에서 목표는 딥 러닝과 관련된 프로젝트에 대해 체계적으로 생각할 수 있는 방법을 제공하는 것입니다. 여기에는 데이터 수집 및 레이블 지정 방법, 아키텍처 선택 방법, 최적화를 위한 적절한 손실 함수 설계 방법에 대한 결정이 포함됩니다. 모델은 아키텍처에 매개변수를 더한 것으로 정의할 수 있습니다. 여기서 아키텍처는 모델에 대해 선택된 디자인이고 매개변수는 함수가 입력을 받아 출력으로 변환하도록 하는 숫자입니다. 손실 함수는 출력을 실측과 비교하는 데 사용되며 손실 함수의 기울기는 인식을 개선하기 위해 매개변수를 업데이트하기 위해 계산됩니다. 입력, 출력, 아키텍처, 손실 함수, 활성화 함수, 최적화 루프 및 하이퍼파라미터를 포함하여 딥 러닝의 맥락에서 많은 것들이 변경될 수 있습니다. 로지스틱 회귀는 처음으로 논의되는 아키텍처이며 이미지는 컴퓨터 과학에서 3D 매트릭스로 표현될 수 있습니다.

  • 00:05:00 비디오의 이 섹션에서 강사는 고양이 이미지를 분류하기 위한 신경망의 기본 구조와 다중 로지스틱 회귀를 사용하여 여러 동물을 분류하도록 수정하는 방법에 대해 설명합니다. 데이터에 올바르게 라벨을 지정하는 것의 중요성을 강조하고 원-핫 인코딩(one-hot encoding) 개념을 도입했지만 언급된 한 마리의 이미지로만 이미지를 분류할 수 있다는 단점이 있습니다. 멀티-핫 인코딩을 위한 활성화 함수로 Softmax를 사용하는 방법도 언급하고, 레이어 및 뉴런 인덱스에 대한 과정에서 사용하는 표기법에 대해 설명합니다.

  • 00:10:00 이 섹션에서 강사는 딥 러닝이 네트워크의 각 계층에서 정보를 추출하는 방법과 이것이 입력 데이터의 인코딩에 사용되는 방법을 설명합니다. 그는 얼굴 인식 및 이미지 분류의 예를 사용하여 딥 러닝의 구체적인 적용에 대한 직관을 구축합니다. 강사는 또한 주어진 문제에 필요한 이미지 수의 추정에 대해 논의하고 네트워크의 매개변수 수가 아닌 작업의 복잡성을 기반으로 해야 한다고 제안합니다.

  • 00:15:00 이 섹션에서 강사는 딥 러닝 프로젝트에 필요한 데이터 양을 결정하는 방법과 데이터를 훈련, 검증 및 테스트 세트로 분할하는 방법에 대해 설명합니다. 강사는 필요한 데이터의 양이 작업의 복잡성과 프로젝트에 실내 또는 실외 이미지가 포함되는지 여부에 따라 다르다고 설명합니다. 균형 잡힌 데이터 세트는 네트워크를 적절하게 훈련시키는 데에도 중요합니다. 계산 복잡성을 최소화하면서 우수한 성능을 달성하는 것을 목표로 이미지의 해상도도 논의됩니다. 강사는 필요한 최소 해상도를 결정하기 위해 다양한 해상도에서 인간의 성능을 비교하도록 제안합니다. 궁극적으로 64 x 64 x 3의 해상도가 사용된 예제 이미지에 충분한 것으로 결정되었습니다.

  • 00:20:00 이 섹션에서 강사는 작업이 이미지가 낮에 촬영되었는지 밤에 촬영되었는지 감지하는 기본적인 이미지 분류 문제에 대해 논의합니다. 모델의 출력은 이미지의 레이블이어야 합니다. 여기서 Y는 낮에 대해 0이고 Y는 밤에 대해 1입니다. 이 작업에 권장되는 아키텍처는 얕은 완전 연결 네트워크 또는 컨볼루션 네트워크입니다. 사용해야 하는 손실 함수는 분류 문제에 대해 다른 손실 함수보다 최적화하기 쉬운 로그 우도입니다. 그런 다음 강사는 체육관과 같은 시설에서 얼굴 인증을 사용하여 학생 ID를 확인하는 것이 목표인 실제 시나리오에 이 기본 개념을 적용합니다. 이 문제에 필요한 데이터 세트는 ID 스와이프 중에 카메라가 캡처한 이미지와 비교할 이미지 모음입니다.

  • 00:25:00 이 딥 러닝 강의에서 발췌한 내용에서 연사는 안면 인식을 체육관 참가자의 신원을 확인하는 수단으로 사용하는 아이디어에 대해 논의합니다. 발표자는 시스템을 교육하기 위해 학교가 모델의 입력을 위해 각 학생의 더 많은 사진뿐만 아니라 이름이 표시된 모든 학생의 사진이 필요하다고 제안합니다. 해상도에 대해 논의할 때 화자는 눈 사이의 거리나 코의 크기와 같은 세부 사항을 더 잘 감지하기 위해 더 높은 해상도(약 400 x 400)가 필요하다고 제안합니다. 마지막으로 발표자는 두 이미지가 동일한 사람인지 확인하기 위한 픽셀 간의 간단한 거리 비교는 조명이나 메이크업이나 수염과 같은 기타 요인의 변화로 인해 작동하지 않을 것이라고 언급합니다.

  • 00:30:00 강의의 이 섹션에서 강사는 그림의 유용한 표현을 생성하기 위해 딥 네트워크를 사용하여 이미지를 인코딩하는 프로세스에 대해 설명합니다. 목표는 얼굴 특징, 색상 및 머리카락 사이의 거리와 같은 이미지의 주요 특징을 나타내는 벡터를 만드는 것입니다. 이러한 벡터는 동일한 피사체의 다른 이미지를 비교하고 일치를 결정하는 데 사용됩니다. 강사는 딥 네트워크에 유용한 손실 함수를 생성하기 위해 앵커와 네거티브 이미지 사이의 거리를 최대화하면서 앵커와 네거티브 이미지 사이의 거리를 최소화하는 과정을 설명합니다. 손실 함수는 네트워크가 특정 기능을 인식하고 정확한 예측을 수행하도록 훈련하는 데 중요합니다.

  • 00:35:00 이 섹션에서는 강사가 얼굴 인식에 사용되는 삼중항 손실 함수에 대해 설명합니다. 손실은 A와 N의 인코딩 벡터 사이의 L2 거리에서 A와 P의 인코딩 벡터 사이의 L2 거리를 뺀 값으로 계산됩니다. 목표는 A와 N의 인코딩 벡터 사이의 거리를 최대화하면서 차이를 최소화하는 것입니다. A와 P 사이. 진정한 손실 함수에는 음의 손실을 방지하는 것 이외의 특정 역할을 하는 알파가 포함되어 있습니다. 강사는 손실 함수에서 알파를 사용하면 손실 함수의 특정 부분에 가중치를 추가한다고 설명합니다. 목표는 얼굴의 특징을 나타내는 인코딩을 찾는 것이며 최적화 알고리즘은 여러 번 통과한 후 손실 함수를 최소화하는 것을 목표로 합니다.

  • 00:40:00 이 섹션에서 강사는 네트워크의 손실 함수에서 알파 항의 사용을 설명합니다. 이 알파 항은 여백으로 알려져 있으며 그 목적은 큰 가중치에 페널티를 주고 네트워크를 0으로 안정화하는 것입니다. 그러나 그래디언트나 가중치에는 영향을 미치지 않습니다. 이 알파 용어의 목적은 null 함수를 학습하는 대신 의미 있는 것을 학습하도록 네트워크를 푸시하는 것입니다. 강사는 또한 안면 확인과 안면 인식의 차이점에 대해 논의하고 파이프라인에 감지 요소를 추가하면 안면 인식을 개선할 수 있다고 제안합니다. K-Nearest Neighbors 알고리즘은 입력된 얼굴의 벡터를 데이터베이스의 벡터와 비교하여 개인을 식별하는 데 사용할 수 있습니다.

  • 00:45:00 이 섹션에서 강사는 클러스터링, 특히 K-Means 알고리즘과 이미지 분류에 사용되는 방법에 대해 설명합니다. 그는 알고리즘이 데이터베이스의 모든 벡터를 가져와 유사하게 보이는 그룹으로 클러스터링하는 방법을 설명합니다. 예를 들어 전화기의 별도 폴더에 있는 다른 사람의 사진을 분리하는 데 사용할 수 있습니다. 또한 알고리즘에서 K 매개변수를 정의하는 방법과 다양한 방법을 사용할 수 있는 방법에 대해서도 설명합니다. 강사는 또한 해당 스타일의 데이터를 사용하여 한 이미지의 내용이지만 다른 스타일로 칠해진 이미지를 생성하는 예술 생성에 대해서도 설명합니다. 강사는 루브르 박물관을 콘텐츠 이미지의 예로 사용하고 클로드 모네의 그림을 스타일 이미지로 사용합니다.

  • 00:50:00 이 섹션에서 발표자는 딥 러닝 기술을 사용하여 이미지에서 스타일과 콘텐츠를 추출하는 방법에 대해 설명합니다. 한 가지 방법은 하나의 특정 스타일을 학습하도록 네트워크를 훈련시키는 것이지만 선호되는 방법은 대신 이미지를 학습하는 것이라고 설명합니다. 여기에는 이미지 인식을 위해 훈련된 신경망을 사용하여 콘텐츠 이미지를 제공하고 콘텐츠에 대한 정보를 추출하는 작업이 포함됩니다. 스타일 정보를 추출하기 위해 화자는 Gram 매트릭스의 사용을 소개하고 스타일은 현지화되지 않은 정보라고 설명합니다. 추출된 콘텐츠와 스타일을 결합하여 콘텐츠를 유지하면서 주어진 이미지의 스타일로 이미지를 생성할 수 있습니다. 발표자는 이 기술이 네트워크의 매개변수를 배우는 것이 아니라 이미지로 다시 역전파하는 것을 포함한다고 강조합니다.

  • 00:55:00 이 섹션에서 강사는 Gram 매트릭스 방법을 사용하여 스타일을 추출하는 손실 함수와 스타일 이미지의 스타일과 생성된 스타일 간의 L2 거리를 사용하여 계산하는 방법에 대해 설명합니다. 콘텐츠 이미지 및 생성된 콘텐츠. 강사는 이 과정에서 ImageNet이 분류를 위한 것이 아니라 미리 훈련된 네트워크 매개변수를 사용하기 위해 사용된다는 점을 강조합니다. 초점은 백색 잡음을 사용하여 이미지를 훈련하는 데 있으며 콘텐츠 G와 스타일 G는 네트워크를 통해 실행하고 손실 함수의 파생물을 계산하여 이미지의 픽셀로 돌아가서 추출됩니다.

  • 01:00:00 이 섹션에서 화자는 콘텐츠 및 스타일 이미지를 기반으로 이미지를 생성하도록 네트워크를 교육하는 과정에 대해 설명합니다. 이 네트워크는 모든 스타일과 콘텐츠로 작업할 수 있는 유연성이 있지만 이미지가 생성될 때마다 새로운 훈련 루프가 필요합니다. 신경망은 수백만 개의 이미지에 대해 훈련되며 Monet 이미지에 대해 특별히 훈련될 필요가 없습니다. 이 네트워크의 손실 함수는 콘텐츠 및 스타일 이미지에서 가져오며 여기서 기준선은 백색 잡음으로 시작하는 것입니다. 그런 다음 연사는 "활성화"와 같은 긍정적인 단어와 "부엌" 및 "사자"와 같은 부정적인 단어를 포함하는 많은 10초 분량의 오디오 클립이 필요한 트리거 단어 감지 응용 프로그램에 대해 논의합니다.

  • 01:05:00 이 섹션에서는 음성 인식을 위한 최상의 레이블 지정 체계를 선택하는 과정에 대해 설명합니다. 발표자는 음성 처리에 사용할 최상의 샘플링 속도를 결정하려면 음성 인식 전문가와 상담해야 한다고 설명하고 구어 문장에서 트리거 단어를 감지하기 어렵게 만드는 약한 레이블링 체계의 예를 제공합니다. 화자는 모델이 트리거 단어를 더 쉽게 감지할 수 있도록 하는 다른 라벨 지정 방식을 시연하지만, 데이터 세트의 불균형과 같은 문제를 고려하는 것이 여전히 중요하며 0 또는 하나.

  • 01:10:00 비디오의 이 섹션에서 연사는 성공적인 딥 러닝 프로젝트를 구축하기 위한 두 가지 중요한 사항에 대해 논의합니다. 첫 번째는 전략적 데이터 수집 파이프라인을 갖추는 것입니다. 이를 수행하는 한 가지 방법은 전화를 사용하여 캠퍼스 주변에서 다양한 억양으로 긍정적이고 부정적인 단어가 포함된 10초 분량의 오디오 녹음을 수집하는 것입니다. 두 번째 중요한 요소는 아키텍처 검색 및 하이퍼파라미터 튜닝입니다. 화자는 처음에 푸리에 변환을 사용하여 음성에서 특징을 추출한 다음 전문가와 이야기하고 그들의 조언에 따라 네트워크를 변경한 방법에 대한 이야기를 들려줍니다. 올바른 아키텍처를 찾는 것은 복잡하지만 포기할 수 없는 과정이며 전문가와 상의해야 한다고 강조한다.

  • 01:15:00 이 섹션에서 발표자는 음성 인식 문제에 대해 논의하고, 푸리에 변환 하이퍼파라미터의 올바른 사용에 대해 조언해 준 음성 인식 전문가를 만나 네트워크 크기와 회선을 사용하여 시간 단계 수를 줄이고 출력을 확장합니다. 그는 프로젝트를 진행하면서 문제가 발생했을 때 포기하지 않고 전문가의 조언을 구하는 것이 중요하다고 강조한다. 그런 다음 발표자는 트리플렛 손실 알고리즘을 사용하고 특정 벡터에서 오디오 음성을 인코딩하여 해당 벡터 간의 거리를 비교함으로써 코드 감지를 해결하는 또 다른 방법을 간략하게 언급합니다. 마지막으로, 그는 객체 감지에 해당하는 아름다운 손실 함수에 대해 논의하며 손실이 경계 상자의 x, y, 너비 및 높이를 비교하는 YOLO라는 네트워크에서 사용됩니다.

  • 01:20:00 비디오의 이 섹션에서 연사는 딥 러닝의 객체 감지 손실 기능과 제곱근을 포함하는 이유에 대해 설명합니다. 손실 함수에는 실제 경계 상자와 예상 경계 상자 사이의 거리를 최소화하고 상자 내의 객체 클래스를 식별하는 것을 목표로 하는 여러 용어가 포함됩니다. 제곱근은 큰 상자보다 작은 상자의 오류에 더 큰 벌점을 주기 위해 포함됩니다. 이 비디오는 예정된 모듈 및 과제의 요약, 필수 TA 프로젝트 멘토십 세션, 신경 스타일 전송 및 잠재적인 GPU 크레딧을 위한 AWS 양식 작성에 중점을 둔 금요일 TA 섹션으로 끝납니다.
 

강의 3 - 전체 주기 딥 러닝 프로젝트



Stanford CS230: 딥 러닝 | 2018년 가을 | 강의 3 - 전체 주기 딥 러닝 프로젝트

전체 주기 딥 러닝 프로젝트에 대한 이 강의에서 강사는 문제 선택, 데이터 수집, 모델 설계, 테스트, 배포 및 유지 관리를 포함하여 성공적인 머신 러닝 애플리케이션 구축의 모든 측면을 고려하는 것이 중요하다고 강조합니다. 강사는 음성 활성화 장치를 구축하는 예를 통해 딥 러닝 프로젝트와 관련된 핵심 구성 요소에 대해 논의하고 학생들이 잠재적으로 긍정적인 영향을 미치고 각자의 분야에 고유한 기여를 할 수 있는 실행 가능한 프로젝트에 집중하도록 권장합니다. 또한 강사는 데이터를 빠르게 수집하고, 프로세스 전반에 걸쳐 메모를 잘 작성하고, 개발 중에 반복하는 것의 중요성을 강조하는 동시에 음성 활성화 및 음성 활동 감지에 대한 특정 접근 방식에 대해 논의합니다.

강의의 두 번째 부분은 기계 학습 프로젝트에서 모니터링 및 유지 관리의 중요성, 특히 모델이 실제 세계에서 제대로 작동하는지 확인하기 위해 모델을 지속적으로 모니터링하고 업데이트해야 하는 필요성에 중점을 둡니다. 강사는 기계 학습 모델의 정확도를 떨어뜨릴 수 있는 데이터 변경 문제를 설명하고 모델이 계속 효과적으로 작동하도록 하기 위해 지속적인 모니터링, 데이터 수집 및 모델 재설계의 필요성을 강조합니다. 또한 강의에서는 음성 활동 감지 시스템에서 비ML 시스템과 훈련된 신경망을 사용할 때의 영향에 대해 논의하고 수동 코딩 규칙이 일반적으로 변화하는 데이터에 더 강력하다는 점을 제안합니다. 강사는 모델 재교육을 위해 데이터를 수집할 때 데이터 프라이버시에 세심한 주의를 기울이고 사용자 동의를 얻어야 한다고 결론을 내립니다.

  • 00:00:00 비디오의 이 섹션에서 강사는 신경망 모델을 구축하는 것 이상으로 성공적인 기계 학습 애플리케이션을 구축하는 데 관련된 단계를 설명하여 전체 주기 딥 러닝 프로젝트의 아이디어를 소개합니다. 그는 음성 활성화 장치를 구축하는 예를 사용하여 첫 번째 단계는 지도 학습을 사용하여 응용 프로그램을 구축하는 것과 같이 문제를 선택하는 것이라고 설명합니다. 그는 또한 분기 후반에 설정되는 문제로 음성 활성화 장치를 구현하는 것과 관련하여 학생들이 작업하게 될 다가오는 프로젝트에 대해 언급합니다.

  • 00:05:00 강의의 이 섹션에서 연사는 "Alexa", "OK Google", "Siri야" 또는 "활성화". 연사는 문제 선택, 레이블이 지정된 데이터 얻기, 모델 설계, 테스트 세트에서 테스트, 배포 및 시스템 유지 관리로 시작하여 기계 학습 제품을 구축하는 중요한 단계를 설명합니다. 연사는 모델 훈련이 종종 반복적인 과정이며 훌륭한 모델을 구축하려면 기계 학습의 핵심 외에도 1단계, 6단계, 7단계에 집중해야 한다고 강조합니다.

  • 00:10:00 강의의 이 섹션에서 연사는 좋은 후보 딥 러닝 프로젝트의 속성에 대해 논의합니다. 그는 음성 활성화 장치의 예를 사용하여 음성 활성화 가능성이 있는 Echo 및 Google Home과 같은 장치가 Wi-Fi용으로 설정해야 하기 때문에 구성하기 어려운 방법에 대해 이야기합니다. 그는 내장 마이크를 포함하고 램프 자체에 간단한 음성 명령을 통해 켜고 끌 수 있는 램프 제조업체에 판매할 수 있는 임베디드 장치를 통해 이 문제에 대한 해결책을 제공합니다. 발표자는 이 프로젝트가 임베디드 장치에서 실행되고 램프를 켜고 끄기 위한 웨이크 워드를 감지할 수 있는 학습 알고리즘을 구축해야 한다고 언급합니다. 그는 또한 모호함을 피하기 위해 이러한 장치에 이름을 부여할 것을 제안합니다. 발표자는 자신이 이 프로젝트에 참여하지 않았지만 스타트업이 추구하는 합리적인 제품이 될 수 있음을 나타냅니다.

  • 00:15:00 비디오의 이 섹션에서 발표자는 청중에게 딥 러닝 프로젝트 아이디어를 선택할 때 일반적으로 살펴보는 속성이 무엇인지 묻습니다. 그런 다음 그는 프로젝트 아이디어를 브레인스토밍할 때 고려해야 할 5가지 핵심 사항 목록을 공유합니다. 세그먼트의 시작 부분은 응답 시스템의 일부 기술적 어려움으로 인해 산만해졌지만 발표자는 결국 당면한 주제에 도달하여 청중이 자신의 아이디어와 우선 순위를 반영하도록 격려합니다.

  • 00:20:00 비디오의 이 섹션에서 Ng 교수는 딥 러닝 프로젝트를 선택하는 방법에 대한 5가지 중요 사항을 공유합니다. 그는 학생들에게 진정으로 관심이 있는 것을 선택하고 데이터의 가용성을 고려하라고 조언합니다. 또한 도메인 지식을 활용하여 기계 학습 기술을 해당 분야의 고유한 측면에 적용하여 고유한 기여를 해야 합니다. 또한 그는 돈에 연연하지 않고 사람들에게 긍정적인 영향을 미치고 유용성을 제공할 수 있는 프로젝트를 선택하도록 권장합니다. 마지막으로 그는 기계 학습 프로젝트나 아이디어의 실행 가능성을 평가하는 데 실행 가능성이 중요한 요소라고 강조합니다. Ng 교수는 또한 딥 러닝에 관심이 있는 의사와 방사선과 학생의 예를 들어 의료 방사선학 분야의 지식을 활용하면 단순히 처음부터 시작하는 것보다 더 독특한 기여를 할 수 있음을 상기시킵니다.

  • 00:25:00 이 섹션에서 강사는 실현 가능한 프로젝트를 선택하고 딥 러닝 알고리즘을 교육하기 위한 데이터를 얻는 것의 중요성에 대해 논의합니다. 그는 학생들이 스타트업 프로젝트의 특정 문구를 감지하기 위해 딥 러닝 알고리즘을 훈련해야 하는 시나리오를 제시하고 피보나치 수열 방법을 사용하여 데이터를 수집하는 데 필요한 일수를 추정하도록 유도합니다. 학생들은 또한 필요한 데이터를 수집하는 방법을 설명하도록 요청받습니다. 발표자의 노트북에 기술적인 문제가 발생했으며 대안으로 Firefox 브라우저를 사용하는 것이 좋습니다.

  • 00:30:00 비디오의 이 섹션에서 강사는 학생들에게 소그룹으로 서로 토론하고 데이터 수집을 위한 최상의 전략을 제시하고 데이터 수집에 소요되는 일수를 결정하도록 요청합니다. 그는 첫 번째 모델을 훈련하는 데 걸리는 시간과 데이터 수집에 소비할 시간을 고려할 것을 제안합니다. 강사는 첫 번째 모델을 훈련하는 데 하루나 이틀이 걸린다면 데이터 수집에 소요되는 시간을 줄이고 싶을 수 있다고 경고합니다. 그는 학생들에게 데이터 수집 계획을 세우기 위해 프로젝트 파트너와 상의하라고 조언합니다.

  • 00:35:00 이 섹션에서 강사는 기계 학습 프로젝트를 진행하면서 다음 데이터 세트를 수집하기 전에 알고리즘이 어떻게 작동하는지 테스트하기 위해 데이터 수집의 중요성에 대해 설명합니다. 강사는 1~2일 동안 데이터를 수집하고 스탠포드 캠퍼스를 돌아다니거나 친구들에게 다른 키워드를 말하게 하여 데이터를 수집할 값싼 마이크를 구하는 방법을 제안합니다. 그는 새로운 기계 학습 시스템을 구축할 때 문제에 대해 무엇이 어렵고 쉬울지 알기 어렵다고 지적합니다. 따라서 시작하려면 기초적인 학습 알고리즘으로 시작하는 것이 필수적입니다.

  • 00:40:00 이 섹션에서 연사는 기계 학습 개발 중에 데이터를 빠르게 수집하고 반복하는 것의 중요성에 대해 이야기합니다. 그는 데이터 수집에 너무 많은 시간을 할애하지 말라고 조언하고 무엇이 필요한지 이해하기 위해 먼저 더 작은 데이터 세트부터 시작할 것을 제안합니다. 연구원이 이전 실험을 다시 실행하지 않고 다시 참조할 수 있도록 수행된 실험과 각 모델의 세부 사항에 대한 명확한 메모를 유지하는 것이 중요합니다. 또한 그는 특정 분야에서 다른 사람들이 어떤 알고리즘을 사용하고 있는지 알아보기 위해 문헌 검색을 할 것을 권장하지만 일부 영역에서는 문헌이 미숙할 수 있다고 경고합니다.

  • 00:45:00 이 섹션에서 강사는 데이터 수집 및 모델 설계에서 배포에 이르기까지 딥 러닝 프로세스 전반에 걸쳐 메모를 잘 작성하는 것의 중요성에 대해 논의합니다. 그는 컴퓨팅 및 전력 예산이 제한된 저전력 프로세서에서 대규모 신경망을 실행하는 문제를 강조하기 위해 에지 장치(예: 스마트 스피커)에 음성 인식 시스템을 배포하는 예를 사용합니다. 에게
    이 문제를 해결하기 위해 더 간단한 알고리즘을 사용하여 분류를 위해 오디오 클립을 더 큰 신경망에 전달하기 전에 누군가 말하고 있는지 감지합니다. 이 간단한 알고리즘은 음성 활동 감지(VAD)로 알려져 있으며 휴대폰에 사용되는 것을 포함하여 많은 음성 인식 시스템의 표준 구성 요소입니다.

  • 00:50:00 강의의 이 섹션에서 교수는 기계 학습 기반이 아닌 음성 활동 감지 시스템을 사용할 것인지 또는 프로젝트를 위해 인간의 음성을 인식하도록 작은 신경망을 훈련시킬 것인지에 대한 질문을 던집니다. 그는 작은 신경망이 낮은 계산 예산으로 실행될 수 있다고 지적하고 누군가가 말한 단어를 인식하는 것보다 말하고 있는지 감지하는 것이 더 쉽다고 제안합니다. 학급의 학생들은 다양한 의견을 가지고 있습니다. 일부는 옵션 1이 디버그하기 쉽고 단순하다고 주장하는 반면 옵션 2는 개 짖는 소리나 사람들이 속삭이는 것과 같은 소음을 감지하는 데 더 좋습니다.

  • 00:55:00 이 섹션에서 강사는 배경 소음이 있을 때 스마트 스피커에서 발생하는 문제인 음성 활성화를 구현하기 위한 두 가지 옵션에 대해 설명합니다. 옵션 1은 10분 안에 구현할 수 있고 몇 줄의 코드로 배경 소음을 필터링하는 간단하고 빠른 솔루션입니다. 옵션 2는 더 복잡하며 시끄러운 환경을 처리하기 위해 대규모 신경망을 구축해야 합니다. 대규모 스마트 스피커 회사에는 옵션 2가 필요할 수 있지만 소규모 스타트업 팀은 옵션 1로 시작하여 필요할 때 옵션 2에만 투자하는 것이 도움이 될 수 있습니다. 강사는 또한 제품 배송 시 데이터 변경 문제를 강조하고 이를 해결하는 방법에 대한 실용적인 아이디어를 제공합니다.

  • 01:00:00 이 섹션에서 연사는 학계에서 종종 무시되는 기계 학습의 실질적인 약점인 데이터 변경 문제에 대해 논의합니다. 머신 러닝 모델이 특정 데이터 세트에 대해 훈련되면 악센트가 있는 새로운 사용자 클래스, 다른 배경 소음 또는 대통령 스캔들과 같은 새로운 이벤트와 같이 데이터가 변경될 때 제대로 작동하지 않을 수 있습니다. 주어진 예로는 웹 검색, 자율 주행 자동차 및 공장 검사가 있습니다. 이 문제는 기계 학습 플랫폼이 실제 세계에서 계속 작동하도록 하기 위해 지속적인 모니터링, 데이터 수집 및 모델 재설계의 필요성을 강조합니다.

  • 01:05:00 이 섹션에서는 기계 학습이 아닌 접근 방식과 훈련된 신경망 사이에서 어떤 시스템이 VAD, 음성 활동 감지에 더 강력한지 논의합니다. 학급의 대다수는 비 ML 시스템에 투표했습니다. 그러나 작은 신경망을 미국 악센트 음성으로 훈련하면 신경망이 특정 미국 악센트 특이성을 포착할 가능성이 높아져 영국 악센트 음성을 감지하는 데 덜 강력해집니다. 이 클래스는 손으로 코딩한 규칙이 충분히 잘 작동할 수 있다면 일반적으로 데이터를 이동하는 것이 더 강력하고 일반적으로 더 잘 일반화되지만 그러한 규칙이 없을 때 기계 학습 알고리즘이 필요하다는 결론을 내립니다.

  • 01:10:00 이 섹션에서 강사는 엄격한 학습 이론이 뒷받침하는 모델의 매개변수가 적을수록 더 나은 일반화로 이어질 수 있다는 아이디어에 대해 논의합니다. 그런 다음 그는 세상이 끊임없이 변화하고 업데이트가 필요할 수 있다는 점을 감안할 때 어떤 배포 유형(클라우드 또는 에지)이 모델 유지 관리를 더 쉽게 하는지에 대한 질문을 던집니다. 청중에게 답변을 입력할 시간을 준 후, 대다수는 사용자 개인 정보 보호 및 보안 문제에도 불구하고 업데이트를 푸시하고 한 중앙 위치에서 처리된 모든 데이터를 수신할 수 있기 때문에 클라우드 배포가 유지 관리를 더 쉽게 만든다고 응답했습니다.

  • 01:15:00 이 섹션에서 발표자는 기계 학습 프로젝트 배포에서 모니터링 및 유지 관리가 중요한 고려 사항인 방법에 대해 설명합니다. 그들은 모델의 성능과 피드백을 모니터링하고 정확도를 개선하거나 필요한 경우 모델을 재교육하는 데 필요한 변경 사항을 해결하는 것이 필수적이라고 강조합니다. 그들은 또한 기업들이 업데이트나 변경이 있더라도 모델이 계속 작동하도록 하기 위해 통계 테스트를 사용하여 품질 보증 프로세스를 설정하고 있다고 제안합니다. 또한 피드백에 사용할 데이터를 수집하고 모델을 재교육할 때 사용자 프라이버시를 존중하고 사용자 동의를 얻는 것이 중요함을 강조합니다.
 

강의 4 - 적대적 공격/GAN




Stanford CS230: 딥 러닝 | 2018년 가을 | 강의 4 - 적대적 공격/GAN

이 강의에서는 사전 훈련된 신경망을 속이기 위해 약간 수정된 입력인 adversarial examples의 개념을 소개합니다. 이 강의는 이러한 공격이 어떻게 작동하는지에 대한 이론적 근거를 설명하고 딥 러닝에서 적대적인 예를 활용하는 악의적인 응용 프로그램에 대해 논의합니다. 또한 강의에서는 실제처럼 보이는 이미지를 생성할 수 있는 모델을 훈련시키는 방법으로 GAN(Generative Adversarial Networks)을 소개하고 GAN 모델에서 생성기의 비용 함수에 대해 논의합니다. 강의는 생성된 예제가 주어졌을 때 D 출력의 로그 그래프를 설명하는 것으로 끝납니다.

이 강의에서는 CycleGAN 아키텍처를 사용하는 짝을 이루지 않은 생성적 적대적 네트워크와 이미지 간 변환에서 GAN 및 해당 애플리케이션을 교육하기 위한 팁과 요령을 포함하여 GAN(Generative Adversarial Networks)과 관련된 다양한 주제를 다룹니다. 인간 주석, 분류 네트워크, 시작 점수 및 Frechet 시작 거리와 같은 방법이 생성된 이미지의 사실성을 확인하는 데 널리 사용되는 방법과 함께 GAN의 평가도 논의됩니다.

  • 00:00:00 이 섹션에서 강사는 신경망에 대한 적대적 공격의 개념을 소개하고 이구아나가 아니지만 사전 훈련된 네트워크에 의해 이구아나로 분류되는 입력 이미지를 찾는 목표를 설정합니다. 강사는 신경망에는 이러한 공격에 취약한 맹점이 있다고 설명하고 이러한 공격이 작동하는 방식에 대한 이론적 근거를 논의합니다. 강사는 이 주제가 보다 이론적인 주제임을 강조하고 더 깊은 이해를 위해 권장되는 읽기 자료를 나열합니다.

  • 00:05:00 이 섹션에서 발표자는 예상 출력과 예상치 못한 출력의 차이를 최소화하는 손실 함수를 사용하여 적대적인 예를 생성하는 프로세스에 대해 설명합니다. 손실 함수는 실제로 더 잘 작동하는 것에 따라 L1, L2 또는 교차 엔트로피가 될 수 있습니다. 그런 다음 이미지는 원하는 출력으로 분류될 때까지 경사 하강법을 사용하여 반복적으로 최적화됩니다. 그러나 결과 이미지는 네트워크가 볼 수 있는 가능한 입력 이미지의 방대한 공간으로 인해 원하는 출력처럼 보이지 않을 수 있으며 이는 실제 이미지의 공간보다 상당히 큽니다.

  • 00:10:00 이 섹션에서 강사는 공격자가 이러한 예제를 사용하여 입력을 잘못 해석하도록 신경망을 속일 수 있는 딥 러닝에서 적대적인 예제의 악의적인 응용 프로그램에 대해 설명합니다. 예를 들어, 공격자는 적대적인 예를 사용하여 자신의 얼굴 사진을 다른 사람의 것처럼 보이게 하거나, CAPTCHA를 깨거나, 소셜 미디어에서 폭력적인 콘텐츠를 탐지하는 알고리즘을 우회할 수 있습니다. 그런 다음 강사는 최적화 문제를 제한하면 인간에게 고양이처럼 보이는 그림이 자율 주행 자동차 및 기타 실제 세계에 영향을 미치는 신경망에 의해 이구아나로 해석될 수 있는 적대적인 예를 어떻게 더 위험하게 만들 수 있는지 설명합니다. 응용 프로그램. 마지막으로 최적화 문제에 사용된 초기 이미지에 대해 논의하고 강사는 대상 개체의 그림부터 시작하는 것이 가장 효율적인 전략이 될 수 있다고 제안합니다.

  • 00:15:00 이 섹션에서 발표자는 RMSE 오류를 손실 함수로 사용하는 방법과 인간이 두 이미지를 유사하게 보는지 여부를 측정하는 정확한 방법이 아닐 수 있는 방법에 대해 설명합니다. 그들은 또한 한 무리의 고양이를 취하고 그들 사이에 최소 거리를 두는 복잡한 손실 함수를 만드는 문제를 해결합니다. 그런 다음 화자는 적대적인 예와 인간에게 실제처럼 보이는 이미지의 공간이 실제 이미지의 공간보다 실제로 더 큰 방법에 대해 이야기합니다. 연사는 계속해서 비표적 및 표적 공격에 대해 설명하고 다양한 유형의 공격을 고려할 때 공격자에 대한 지식이 중요한 요소임을 설명합니다.

  • 00:20:00 강의의 이 섹션에서 교수는 적대적 공격을 위해 블랙박스 모델을 공격하는 방법에 대해 논의합니다. 한 가지 아이디어는 수치 기울기를 사용하여 이미지가 약간 교란될 때 손실이 어떻게 변하는지 추정하는 것입니다. 또 다른 개념은 양도 가능성으로, 한 모델에 대해 생성된 적대적인 예가 다른 유사한 모델도 속일 수 있습니다. 교수는 적대적인 예를 걸러내기 위한 "안전망" 모델 생성, 다양한 손실 기능을 가진 여러 네트워크 결합과 같은 잠재적인 방어에 대해 언급합니다. 또 다른 접근 방식은 정상적인 예와 함께 적대적 예를 훈련하는 것이지만, 이는 비용이 많이 들고 다른 적대적 예에 반드시 일반화되지 않을 수 있습니다.

  • 00:25:00 이 섹션에서 강사는 경사 하강법 최적화에서 적대적인 예를 활용하는 복잡성에 대해 논의합니다. 이 프로세스에는 첫 번째 용어를 계산하기 위해 네트워크를 통해 x를 전파하고, 최적화 프로세스로 적대적 예제를 생성하고, 적대적 예제를 전달하여 두 번째 용어를 계산한 다음 역전파를 사용하여 네트워크의 가중치를 업데이트하는 과정이 포함됩니다. 로짓 페어링(logit pairing) 기법도 적대적 훈련의 또 다른 방법으로 간략하게 언급됩니다. 적대적 사례에 대한 신경망의 취약성에 대한 이론적 관점도 제기되며, 주요 주장은 네트워크의 선형 부분이 높은 비선형성 및 과적합이 아닌 적대적 사례의 존재 원인이라는 것입니다.

  • 00:30:00 이 섹션에서 발표자는 적대적인 예의 개념과 원래 입력에 근접하면서 네트워크의 출력을 근본적으로 변경하는 방식으로 입력을 수정하는 방법에 대해 논의합니다. 화자는 x에 대해 y-hat의 도함수를 사용하고 섭동 값인 엡실론을 정의하고 x에 엡실론*w-트랜스포즈를 추가함으로써 x를 조금씩 움직일 수 있음을 보여주며 그에 따라 출력을 변경하는 데 도움이 됩니다. . 화자는 w*w-transpose라는 용어가 항상 양수라는 점을 강조하며 엡실론을 작은 값으로 변경하여 이 변화를 거의 만들 수 없습니다.

  • 00:35:00 이 섹션에서 강사는 신경망의 출력인 y-hat을 -4에서 밀어내는 x-star라고 하는 x에 약간의 변화를 계산하여 적대적 공격을 생성하는 방법에 대한 예를 설명합니다. 0.5로. 강사는 W가 크면 x-star는 x와 다를 것이며 W 대신 W의 부호를 사용하면 결과는 항상 x항을 양수 쪽으로 밀어낼 것이라고 지적합니다. 또한 x의 차원이 커짐에 따라 W의 양의 엡실론 부호의 영향이 증가합니다.

  • 00:40:00 이 섹션에서 화자는 적대적인 예를 생성하는 일반적인 방법인 Fast Gradient Sign Method라는 방법에 대해 설명합니다. 이 방법은 매개변수에 근접한 비용 함수를 선형화하고 픽셀 이미지를 출력에 큰 영향을 미치는 한 방향으로 푸시하는 데 사용됩니다. 연사는 이 방법이 선형 및 심층 신경망에 적용된다고 설명합니다. 연구는 이러한 네트워크의 동작을 선형화하는 데 중점을 둡니다. 또한 발표자는 손실 함수의 도함수를 계산하기 위해 체인 규칙을 사용하는 방법과 뉴런의 매개변수를 훈련하기 위해 높은 기울기를 갖는 것의 중요성에 대해 논의합니다.

  • 00:45:00 비디오의 이 섹션에서는 이전에 존재한 적이 없더라도 실제처럼 보이는 이미지를 생성할 수 있는 모델을 훈련하는 방법으로 생성적 적대 신경망(GAN)의 개념을 소개합니다. 목표는 네트워크가 데이터 세트의 두드러진 특징을 이해하고 실제 분포와 일치하는 새로운 이미지를 생성하는 방법을 배우는 것입니다. 미니맥스 게임은 생성기와 판별기라는 두 네트워크 사이에서 진행됩니다. 생성기는 무작위 이미지를 출력하는 것으로 시작하고 판별기의 피드백을 사용하여 보다 사실적인 이미지를 생성하는 방법을 학습합니다. GAN은 훈련하기 어렵지만 목표는 생성기가 사용 가능한 데이터 양보다 적은 매개변수로 이미지의 실제 분포를 모방하는 방법을 배우는 것입니다.

  • 00:50:00 이 섹션에서 강사는 GAN(Generative Adversarial Networks)의 개념과 역전파를 통해 학습하는 방법을 소개합니다. GAN은 생성기와 판별기로 구성되며, 판별자는 이미지가 진짜인지 가짜인지 식별하려고 합니다. 그런 다음 생성기는 가짜 이미지를 생성하고 판별자가 실제라고 생각하도록 속이려고 합니다. Discriminator는 실제 이미지는 1로 레이블이 지정되고 생성된 이미지는 0으로 레이블이 지정된 이진 교차 엔트로피를 사용하여 훈련됩니다. Discriminator의 손실 함수는 JD이며 두 항이 있습니다. 하나는 실제 데이터를 하나로 올바르게 레이블 지정하고 다른 하나는 이진 교차 엔트로피입니다.

  • 00:55:00 이 섹션에서 강사는 GAN 모델에서 생성기의 비용 함수에 대해 이야기합니다. 목표는 생성자가 판별자를 속이는 현실적인 샘플을 생성하는 것이며 비용 함수는 이를 반영해야 합니다. 그러나 게임이기 때문에 D와 G는 균형에 도달할 때까지 함께 향상되어야 합니다. 생성기의 비용 함수는 판별기가 생성된 이미지를 "하나"로 분류해야 한다고 명시하고 있으며 이는 기울기의 부호를 뒤집음으로써 달성됩니다. 강사는 또한 생성된 예가 주어졌을 때 D 출력의 로그 그래프에 대해 논의합니다.

  • 01:00:00 이 섹션에서 강사는 생성기 비용 함수의 문제와 음의 무한대로 가는 방법에 대해 설명합니다. 대신, 그는 0에 가까울 때 기울기가 더 높은 비포화 비용 함수를 사용하고 수학적 트릭을 사용하여 현재 비용 함수를 이 비포화 비용 함수로 변환할 것을 제안합니다. 비포화 비용 함수는 Discriminator가 Generator보다 나은 처음에 높은 기울기를 가지며, 일반적으로 훈련 초기에 발생합니다.

  • 01:05:00 이 섹션에서 연사는 비용 함수 수정, 생성기보다 판별자 업데이트, Virtual BatchNorm 사용을 포함하여 GAN 교육을 위한 팁과 요령에 대해 논의합니다. 발표자는 또한 생성기를 사용하여 무작위 코드로 얼굴을 생성하고 코드의 잠재 공간에서 선형 작업을 수행하여 이미지 공간에 직접 영향을 주는 등 인상적인 GAN 결과의 예를 보여줍니다. 또한 발표자는 이미지 대 이미지 변환에 GAN을 사용하여 지도 이미지를 기반으로 위성 이미지를 생성하고 얼룩말과 말 또는 사과와 오렌지와 같은 서로 다른 개체 간에 변환하는 방법을 보여줍니다.

  • 01:10:00 이 섹션에서 강사는 말을 얼룩말로 또는 그 반대로 변환할 때 쌍을 이루지 않은 생성 적대적 네트워크를 사용하는 방법에 대해 설명합니다. 사용된 아키텍처는 CycleGAN이라고 하며 두 개의 생성기와 두 개의 판별자를 포함합니다. 생성기는 소스 도메인에서 대상 도메인으로 이미지를 변환한 다음 다시 소스 도메인으로 변환하도록 훈련됩니다. 이것은 말이 얼룩말과 같은 말이어야 하고 그 반대의 경우도 마찬가지라는 제약 조건을 적용하는 데 중요합니다. 사용된 손실 함수에는 이전에 본 전형적인 비용 함수와 원본 이미지와 생성된 이미지 간의 일치를 보장하는 추가 용어가 포함됩니다.

  • 01:15:00 비디오의 이 섹션에서 발표자는 조건부 GAN의 손실 함수를 개선하기 위한 주기 비용 사용, 에지 또는 저해상도 이미지를 기반으로 이미지를 생성하는 기능, GAN이 개인 정보 보호 의료 데이터 세트와 뼈 및 치아 교체와 같은 개체의 개인화된 제조에 사용될 가능성이 있습니다. 연사는 또한 라면을 얼굴과 등으로 변환하고 가장자리를 기반으로 고양이를 생성하는 등 만들어진 재미있는 응용 프로그램을 강조합니다.

  • 01:20:00 이 섹션에서 강사는 GAN의 평가와 생성된 이미지가 사실적인지 여부를 확인하는 방법에 대해 논의합니다. 한 가지 방법은 소프트웨어가 구축되고 사용자에게 어떤 이미지가 가짜이고 어떤 것이 진짜인지 표시하도록 요청하는 인간 주석입니다. 또 다른 방법은 Inception 네트워크와 같은 분류 네트워크를 사용하여 이미지를 평가하는 것입니다. 강사는 또한 GAN을 평가하는 데 널리 사용되는 방법으로 Inception 점수와 Frechet Inception Distance를 언급합니다. 마지막으로 강사는 학생들에게 다가오는 퀴즈와 프로그래밍 과제에 대해 상기시키고 BatchNorm 비디오를 검토하도록 조언합니다.
 

강의 5 - AI + 헬스케어




Stanford CS230: 딥 러닝 | 2018년 가을 | 강의 5 - AI + 헬스케어

강의는 이 강의에서 의료 분야의 AI 응용 프로그램에 대한 개요를 제공합니다. 그는 설명, 진단, 예측 및 규범과 같이 AI가 대답할 수 있는 질문 유형을 분류합니다. 그런 다음 저자는 다양한 의료 문제에 AI를 적용하는 것을 보여주는 그의 연구실에서 세 가지 사례 연구를 제시합니다. 한 가지 예는 전문가가 오진했을 수 있지만 기계에 의해 포착될 수 있는 심각한 심장 부정맥의 감지입니다. 또 다른 예는 무릎 MR 검사에서 이상을 식별하기 위해 나선형 신경망을 사용하는 것입니다. 특히 ACL 파열 및 반월판 파열의 가능성을 식별합니다. 마지막으로 연사는 의료 AI에서 데이터 분포 및 데이터 증강과 관련된 문제에 대해 논의합니다.

두 번째 부분에서는 의료 애플리케이션에서 딥 러닝 구현과 관련된 다양한 주제를 다룹니다. 사람들이 뒤를 보면서 가상 비서에게 말함으로써 발생하는 자율 주행 자동차의 음성 인식 문제에 대한 회사의 솔루션에서 입증된 것처럼 데이터 증대의 중요성에 대해 논의합니다. 추가할 계층 수와 동결할 계층 결정과 같은 의료 응용 프로그램의 전이 학습과 관련된 하이퍼파라미터에 대해서도 설명합니다. 그런 다음 강의는 레이블이 지정된 데이터 세트에 경계를 추가하는 것의 중요성이 강조되는 이미지 분석으로 이동합니다. 의료 영상 분석에서 객체 감지와 분할의 장점과 차이점에 대해 논의하고 0 또는 1로 레이블이 지정된 의료 영상에 대한 이진 분류 주제를 소개합니다. 강의는 딥 러닝에서 데이터의 중요성과 과정에 대한 향후 평가에 대해 논의하면서 마무리됩니다.

  • 00:00:00 비디오의 이 섹션에서 강의는 의료 분야의 AI 응용 프로그램에 대한 개요를 제공합니다. 그는 설명, 진단, 예측 및 규범과 같이 AI가 대답할 수 있는 질문 유형을 분류합니다. 그는 또한 딥 러닝의 패러다임 변화와 AI가 머신 러닝 엔지니어의 작업을 자동화할 수 있는 잠재력에 대해 논의합니다. 그런 다음 Rajpurkar는 다양한 의료 문제에 AI를 적용하는 것을 보여주는 그의 연구실에서 세 가지 사례 연구를 제시합니다.

  • 00:05:00 이 섹션에서 연사는 의료 영상을 사용하여 부정맥을 감지하는 문제에 대해 논의합니다. 부정맥은 수백만 명의 개인에게 영향을 미치는 중요한 문제이며, 심장 박동 간의 미묘한 차이로 인해 ECG 테스트를 통해 부정맥을 감지하는 것이 어려울 수 있습니다. 발표자는 자동 통역이 필요한 Zio 패치와 같은 최신 장치를 사용하여 환자를 모니터링하여 2주 동안 생성된 데이터 양을 강조합니다. 그러나 자동화된 방법을 사용하여 부정맥을 감지하는 것은 여러 전극의 제한된 가용성 및 심장 박동 간의 미묘한 차이와 같은 문제가 있습니다. 이러한 문제를 극복하기 위해 연사는 기능 엔지니어링 및 분류에 대한 기존 접근 방식을 변경할 수 있는 딥 러닝을 사용할 것을 제안합니다.

  • 00:10:00 이 섹션에서 발표자는 입력에서 출력으로 심장 리듬(A, B, C로 레이블 지정)을 매핑하기 위해 깊이가 34층인 1D 컨볼루션 신경망 아키텍처가 있는 심층 신경망을 사용하는 방법에 대해 설명합니다. 사용된 네트워크는 오류 신호에서 각 계층까지의 거리를 최소화하는 데 도움이 되는 지름길이 있는 잔여 네트워크였으며, 이전 최대 데이터 세트보다 600배 더 큰 데이터베이스와 결합되었습니다. 이 새로운 데이터베이스를 사용하면 알고리즘이 F1 메트릭 정확도 및 재현율에서 심장 전문의를 능가할 수 있습니다. 가장 큰 실수는 매우 유사해 보이지만 치료에는 차이가 없는 두 리듬을 구별하고 전문가가 놓친 비용 실수를 찾는 것입니다.

  • 00:15:00 이 섹션에서 강사는 의료 분야의 자동화 사용과 딥 러닝 및 기계 학습이 지속적인 환자 모니터링, 위험 요인에 대한 과학적 이해 향상, 잠재적인 의료 혁신을 가능하게 하는 방법에 대해 논의합니다. 한 가지 예는 전문가가 오진했을 수 있지만 기계에 의해 포착될 수 있는 심각한 심장 부정맥의 감지입니다. 강사는 또한 흉부 X-레이를 통한 폐렴 감지에 대해 논의하면서 특히 폐렴이 전 세계적으로 부담이 큰 어린이들에게 자동 감지의 유용성을 강조합니다.

  • 00:20:00 이 섹션에서 발표자는 ImageNet에서 사전 훈련된 2D 컨볼루션 신경망을 사용하여 환자의 흉부 X선 이미지를 입력하고 유무를 나타내는 이진 레이블을 출력하는 방법에 대해 설명합니다. 폐렴. 사용된 데이터 세트는 NIH에서 공개한 100,000개의 흉부 X-레이의 대규모 데이터 세트였으며 각 X-레이에는 최대 14개의 서로 다른 병리가 주석이 추가되었습니다. 다른 전문가들과 유사하게 동의하는지 평가하여 모델이 방사선 전문의보다 나은지 또는 그들과 동등한지 평가했습니다. F1 점수는 각 전문가와 모델에 대해 한 번씩 계산되었으며, 이 작업에서 모델이 일반 방사선 전문의보다 더 잘 수행하는 것으로 나타났습니다. 결과도 14가지 병리학 모두에서 이전의 최첨단보다 더 좋았습니다.

  • 00:25:00 이 섹션에서 발표자는 임상 기록에 액세스하지 않고 환자를 진단하는 문제와 더 많은 정보에 액세스할 수 있는 방사선 보고서에서 딥 러닝 알고리즘을 훈련할 수 있는 방법에 대해 논의합니다. 목표는 새 환자의 흉부 X-레이에서 보이는 일련의 증상에서 잠재적인 병리를 식별하는 것입니다. 모델 해석은 알고리즘의 의사 결정 프로세스에 대해 임상의에게 알리는 데 필수적이며 클래스 활성화 맵을 사용하여 병리가 있는 이미지 영역을 강조 표시하는 히트 맵을 생성합니다. 이 접근 방식은 특히 선진국에서 워크플로의 우선 순위를 지정하여 의료 제공을 개선하고 인구의 3분의 2가 진단에 대한 액세스가 부족한 전 세계적으로 의료 영상 전문성을 높일 수 있습니다.

  • 00:30:00 이 섹션에서 강사는 사용자가 모델이 진단하는 X선 이미지를 업로드할 수 있는 프로토타입 앱을 시연합니다. 이 모델은 14가지 병리학에 대해 훈련을 받았으며 심장의 확장인 심비대를 식별할 수 있습니다. 강사는 인터넷에서 다운로드한 이미지의 성공적인 진단에서 알 수 있듯이 알고리즘이 훈련된 모집단 이외의 모집단으로 일반화할 수 있는 능력에 흥분했습니다. 또한 강사는 무릎 이상을 식별하는 것이 목표인 무릎의 MR 이미지에 대한 사례 연구에 대해 논의합니다. 3D 문제는 다양한 각도에서 무릎을 볼 수 있게 해주며, 이는 방사선 전문의가 진단을 내리는 데 필수적입니다.

  • 00:35:00 이 섹션에서 발표자는 무릎 MR 검사에서 이상을 식별하기 위해 컨볼루션 신경망을 사용하는 방법, 특히 ACL 파열 및 반월판 파열의 가능성을 식별하는 방법에 대해 논의합니다. 화자는 모든 보기-병리학 쌍에 대해 9개의 컨볼루션 네트워크를 훈련한 다음 로지스틱 회귀를 사용하여 결합했습니다. 그들은 120번의 시험에서 모델을 테스트했고 이상을 식별하는 데 잘 작동한다는 것을 발견했습니다. 발표자는 또한 다양한 기관 및 국가의 데이터 세트와 함께 작동하도록 모델을 일반화할 수 있는 능력의 중요성에 대해 논의합니다. 방사선 전문의 등 다양한 분야의 전문가들과 협업해 성과를 끌어올리는 모델 문제도 거론된다.

  • 00:40:00 강의의 이 섹션에서 연사는 AI 모델을 사용하여 ACL 파열을 감지하는 방사선 전문의의 효능에 대한 연구에 대해 논의합니다. 이 연구는 방사선 전문의와 함께 모델을 사용하면 ACL 눈물 감지의 성능과 특이성이 증가한다는 것을 발견했습니다. 그러나 자동화 편향에 대한 우려가 발생하고 스피커는 모델에 너무 많이 의존하는 경우 방사선 전문의에게 경고하기 위해 뒤집힌 답변으로 시험에 합격하는 것과 같은 잠재적인 솔루션을 다룹니다. 연사는 또한 학생들이 MURA 데이터 세트로 작업하고 의료용 AI 부트캠프에 참여하는 것을 포함하여 AI 및 의료에 참여할 수 있는 두 가지 기회를 공유합니다.

  • 00:45:00 이 섹션에서 발표자는 의료 분야에서 AI 모델을 개발 및 구현하는 의료 전문가를 위한 애플리케이션 및 잠재적 보상에 대해 논의합니다. 이 주제에 대해 많은 연구가 진행되고 있지만 의료 전문가의 생계에 미칠 잠재적 영향을 둘러싼 윤리적 문제에 대한 직접적인 해결책은 없습니다. 연사는 또한 특정 병리를 감지하는 데 있어 AI 모델의 한계와 이러한 한계를 사용자에게 전달하는 것의 중요성에 대한 질문을 다룹니다. 이 섹션은 딥 러닝을 사용하여 피부 세포의 현미경 이미지를 분할하여 질병을 감지하는 사례 연구로 결론을 내립니다.

  • 00:50:00 이 섹션에서 발표자는 의료 이미지를 분할하고 데이터 세트를 기차, 개발 및 테스트 세트로 나누는 방법에 대해 설명합니다. 이미지는 셀 또는 셀 없음에 해당하는 픽셀로 이진 분할됩니다. 청중은 A의 경우 50%, B의 경우 25%, C의 경우 25%로 나누어진 데이터와 함께 A, B 및 C의 세 가지 다른 현미경의 데이터를 분할하기 위한 전략을 논의하고 제공하도록 요청받습니다. 합의는 다음과 같습니다. 훈련 및 개발 테스트를 위해 데이터를 95-5로 분할하고 개발 및 테스트 세트의 C 이미지와 훈련 데이터의 90%에 C 이미지도 포함합니다.

  • 00:55:00 이 섹션에서는 발표자가 의료 AI에서 데이터 배포 및 데이터 증강과 관련된 문제에 대해 논의합니다. 그는 훈련 데이터의 분포가 실제 응용 프로그램의 분포와 일치하는지 확인하는 것의 중요성을 강조하고 회전, 확대/축소, 흐림, 대칭과 같은 증강 기술을 제안합니다. 발표자는 또한 대칭 뒤집기가 잘못된 레이블 지정으로 이어질 수 있는 문자 인식과 같이 데이터 확대가 모델을 돕지 않고 해를 끼칠 수 있는 경우에 대해 경고합니다.

  • 01:00:00 이 섹션에서는 자율 주행 자동차 및 자동차의 가상 비서 작업을 수행하는 회사의 예를 통해 데이터 증대의 중요성에 대해 논의합니다. 차량이 후진할 때 음성인식 시스템이 제대로 작동하지 않는다는 점, 조수석에 손을 얹은 채 뒤를 돌아보며 가상비서와 대화하는 모습 등을 발견했다. 그들은 스마트 데이터 증강을 사용하여 데이터의 음성을 차 뒷좌석에서 말하는 사람이 사용하는 것처럼 보이도록 변경하여 문제를 해결할 수 있었습니다. 또한 전이 학습과 관련된 하이퍼파라미터와 같은 주제가 논의됩니다.

  • 01:05:00 이 섹션에서는 연사가 딥 러닝을 사용하는 의료 애플리케이션의 전이 학습과 관련된 하이퍼파라미터에 대해 설명합니다. 레이어 수, 추가된 레이어 크기, 훈련 중 동결할 레이어 결정과 같은 하이퍼파라미터에 중점을 둡니다. 발표자는 사전 훈련된 네트워크에서 유지할 계층을 선택하는 방법과 세분화를 위한 새 네트워크를 만들기 위해 추가할 계층 수를 설명합니다. 또한 그들은 작은 데이터 세트에 대해 재훈련하는 동안 사전 훈련된 계층을 동결할 양을 결정하는 것이 중요하다고 논의합니다.

  • 01:10:00 이 섹션에서 강사는 의사가 원하는 것과 일치하지 않는 알고리즘에 의해 생성된 출력 이미지를 보여줍니다. 이미지에는 분리할 수 없는 세포가 있어 의사가 해석하기 어렵습니다. 이 문제에 대한 해결책은 레이블이 지정된 데이터 세트에 경계를 추가하는 것입니다. 경계의 존재를 고려하여 데이터 세트에 레이블을 다시 지정할 수 있습니다. 모델이 여전히 잘 수행되지 않으면 손실 함수의 가중치가 조정됩니다. 즉, 모델이 경계에 집중하도록 훈련됩니다. 계수는 경계를 놓친 경우 진행 방법을 모델에 알려주기 위해 손실 함수의 각 값에 기인할 수 있습니다. 데이터세트의 레이블을 다시 지정하는 것은 선을 그리는 위치에서 수동으로 수행할 수 있으며 선 내의 영역은 셀로 처리되고 경계는 선으로 처리됩니다.

  • 01:15:00 이 섹션에서는 의료 영상 분석에서 객체 감지와 분할의 장점과 차이점에 대해 강의합니다. 더 빠른 분석을 위해 개체 감지가 더 잘 작동할 수 있지만 분할은 셀을 분리하는 데 더 정확합니다. 그런 다음 강의는 암세포의 존재 또는 부재를 나타내는 0 또는 1로 레이블이 지정된 의료 이미지에 대한 이진 분류에 대해 논의합니다. 화자는 99%의 정확도를 달성한 후 네트워크의 예측을 해석하기 위해 그래디언트 값을 사용할 것을 권장합니다. 그런 다음 경험과 인식의 차이로 인해 대답이 예인 의사보다 네트워크가 더 높은 정확도를 달성할 수 있는지 질문합니다.

  • 01:20:00 이 섹션에서 강사는 의료 AI 모델의 기본 오류 및 인간 수준 성능에 대해 논의합니다. 그들은 데이터 세트에 라벨을 붙인 의사 그룹의 정확도가 단일 의사의 정확도를 능가할 수 있으므로 고려해야 한다고 언급합니다. 자율 주행을 위한 파이프라인도 논의되며 각 구성 요소를 분리하고 성능을 확인하면 문제가 있는 위치를 식별하는 데 도움이 될 수 있습니다. 또한 전체 종단 간 시스템보다 각 개별 단계에서 데이터 수집을 더 쉽게 얻을 수 있다는 점을 포함하여 파이프라인 접근 방식의 장점에 대해 설명합니다.

  • 01:25:00 이 섹션에서 강사는 딥 러닝에서 데이터의 중요성과 쉽게 액세스할 수 있는 데이터에 따라 작업할 문제 선택이 어떻게 달라질 수 있는지에 대해 설명합니다. 그런 다음 그는 컨볼루션 신경망에 대한 주제를 소개하고 다음 모듈에서 이미지 분석에 중점을 둘 것이라고 언급합니다. 강사는 학생들에게 이번 주 비디오까지 모든 것을 다룰 예정인 퀴즈, 프로그래밍 과제 및 중간 고사를 상기시킵니다.
 

강의 6 - 딥러닝 프로젝트 전략




Stanford CS230: 딥 러닝 | 2018년 가을 | 강의 6 - 딥러닝 프로젝트 전략

이 비디오에서 연사는 기계 학습 프로젝트의 성공을 측정하기 위해 좋은 지표를 선택하는 것의 중요성에 대해 논의합니다. 선택한 메트릭은 당면한 문제와 원하는 결과를 반영해야 합니다. 화자는 정확도, 정밀도, 재현율 및 F1 점수의 예를 제공하고 각 항목을 사용해야 하는 경우를 설명합니다. 또한 유효성 검사 세트와 테스트 세트의 차이점에 대해 논의하고 둘 다 사용하는 것이 중요한 이유를 설명합니다. 또한 화자는 학습 알고리즘의 효율성을 측정하기 위한 비교 기준으로 기준 모델의 필요성을 강조합니다. 마지막으로 연사는 이진 분류의 임계값 선택과 클래스 불균형을 처리하는 방법에 대한 청중의 몇 가지 질문에 답합니다.

  • 00:00:00 이 섹션에서는 강사가 음성 명령을 사용하여 램프를 켜는 데 사용할 수 있는 "Robert turn on"이라는 특정 문구를 감지하는 음성 인식 시스템을 구축하는 프로젝트 시나리오를 소개합니다. 목표는 이 문구를 인식하고 말할 때 램프를 켤 수 있는 학습 알고리즘을 구축하는 것입니다. 강사는 기계 학습 프로젝트에서 다음에 수행할 작업을 보다 효율적으로 만들고 신속하게 추진하기 위해 전략적으로 정교해지는 것이 중요하다고 강조합니다. 강의는 대화식으로 이루어지며 학생들은 전통적으로 함께 일하지 않는 사람과 함께 앉도록 권장됩니다.

  • 00:05:00 이 섹션에서 강사는 청중에게 자신이 특정 문구를 감지하는 학습 알고리즘을 구축하는 스타트업 CEO라고 상상해 보라고 요청합니다. 그는 새로운 프로젝트를 시작하기 전에 기존 문헌을 읽는 것의 중요성을 강조하고 연구 논문을 효율적으로 읽는 방법에 대한 팁을 제공합니다. 그는 독자들에게 어떤 논문을 더 자세히 읽을지 결정하기 전에 표면 수준에서 여러 논문을 훑어보라고 조언합니다. 그는 또한 모든 논문이 의미가 있거나 중요한 것은 아니므로 관련 없는 정보를 걸러내는 것이 필수적이라고 경고합니다.

  • 00:10:00 강의의 이 섹션에서는 특정 주제를 이해하려고 할 때 전문가와 대화하고 논문 저자에게 연락하는 것의 중요성이 강조됩니다. 연사는 또한 딥 러닝 프로젝트를 위한 적절한 교육, 개발 및 테스트 데이터 세트를 수집하는 프로세스에 대해서도 논의합니다. 그들은 "Robert turn on"과 같이 감지할 특정 구를 말하는 개인을 녹음하고 학습 알고리즘의 분산을 줄이기 위해 데이터 증대 기술을 사용할 것을 제안합니다. 연사는 시간과 노력을 투자하기 전에 데이터 증대의 필요성을 검증하는 것의 중요성을 강조합니다.

  • 00:15:00 이 섹션에서 발표자는 방아쇠 단어 감지 시스템을 만드는 것과 관련된 숙제 문제의 예를 논의합니다. 이 시스템은 누군가가 "Robert turn on"과 같은 특정 문구를 말한 다음 램프를 켜는 것과 같은 동작을 트리거할 때 감지하도록 설계되었습니다. 필요한 데이터를 수집하기 위해 화자는 각각 10초 분량의 오디오 클립 100개를 수집할 것을 제안합니다. 개발 세트는 25개, 테스트 세트는 0개입니다. 그는 스탠포드 카페테리아와 같은 번잡한 지역에서 1분 또는 2분마다 한 사람이 기록될 수 있다고 추정하면서 이 프로세스가 신속하게 수행될 수 있다고 설명합니다.

  • 00:20:00 비디오의 이 섹션에서 강사는 지도 학습을 위해 오디오 감지 문제를 이진 분류 문제로 전환하는 방법에 대해 설명합니다. 각 클립에 대해 다른 대상 레이블을 사용하여 10초 클립의 3초 오디오 클립을 잘라낼 것을 제안합니다. 이 방법은 수천 개의 학습 예제를 생성할 수 있습니다. 강사는 시퀀스 데이터를 처리하는 다른 방법이 존재한다는 점을 인정하지만 이것이 한 가지 방법입니다. 또한 희박한 대상과 3초 클립 선택에 대한 청중의 질문에 답합니다. 마지막으로 그들은 정확도가 높지만 알고리즘이 문제의 구문 인스턴스를 감지하지 못하는 시나리오에 대해 논의합니다.

  • 00:25:00 이 섹션에서 발표자는 학습 알고리즘이 95%의 정확도를 제공하지만 감지하지 못하는 시나리오에 대해 논의합니다. 알고리즘을 개선하는 한 가지 방법은 개발 세트를 지정하고 실제 목표에 더 가까운 메트릭을 평가하는 것이라고 제안합니다. 이는 교육 및 개발 세트를 리샘플링하여 긍정적인 예와 부정적인 예의 측면에서 더 균형 있게 만들거나 긍정적인 예에 더 큰 가중치를 부여함으로써 수행할 수 있습니다. 또 다른 접근 방식은 대상 레이블을 여러 레이블로 변경하는 것일 수 있습니다. 이 방법은 빠르고 더러운 방법일 수 있지만 수학적으로 엄격하지는 않습니다. 발표자는 또한 배포 시 데이터 세트를 재조정하는 방법에 대한 질문에 답하고 도입될 수 있는 편향을 조정해야 할 필요성을 언급합니다.

  • 00:30:00 이 섹션에서 화자는 학습 알고리즘을 구축하기 위한 전략에 대해 논의하고 개발보다 디버깅에 더 가깝게 느껴질 수 있음을 강조합니다. 작업 흐름에는 일반적으로 문제를 수정한 다음 해결해야 할 새로운 문제가 발생합니다. 예를 들어 알고리즘이 과적합된 경우 오류 분석이 필요하며 데이터 세트의 균형을 맞추기 위해 오류 분석을 더 추가할 수 있습니다. 그러나 간단한 리밸런싱 방법은 학습 알고리즘에 도움이 될 수 있는 많은 부정적인 예를 버릴 수 있습니다. 발표자는 또한 깨어나거나 램프를 켤 수 있는 가능성과 램프가 저절로 켜지는 무작위성과 같은 시스템 효율성을 측정하는 지표에 대해서도 언급했습니다.

  • 00:35:00 이 섹션에서 발표자는 오디오용 데이터 증대에 대해 논의하고 배경 소음 데이터를 수집하여 시스템을 보다 견고하게 만드는 세 가지 가능한 방법을 제안합니다. 첫 번째 방법은 사용자의 집에서 들리는 소리를 시뮬레이션하기 위해 오디오 클립에 추가할 수 있는 권한을 가지고 사람들의 집 내부에서 배경 소리의 오디오 샘플을 수집하는 것입니다. 두 번째 방법은 온라인으로 Creative Commons 라이선스 콘텐츠에서 비 또는 자동차에 대한 10시간 분량의 오디오 클립을 다운로드하는 것이고, 세 번째 옵션은 Amazon Mechanical Turk를 사용하여 전 세계 사람들이 오디오 샘플을 제공하도록 하는 것입니다.

  • 00:40:00 비디오의 이 섹션에서 연사는 청중에게 다양한 메커니즘을 통해 스탠포드 주변의 다양한 위치에서 10시간 분량의 오디오 데이터를 수집하는 데 걸리는 시간을 추정하도록 요청합니다. 발표자는 여러 명의 친구가 노트북을 가지고 있으면 병렬로 데이터를 수집할 수 있지만 온라인으로 클립을 다운로드하는 것은 클립이 반복될 수 있어 데이터의 다양성에 기여하지 않기 때문에 더 어려울 수 있다고 제안합니다. 연사는 아이디어를 효율적으로 브레인스토밍하고 필요한 시간과 노력을 결정하기 위해 그러한 연습을 하는 것이 중요하다고 강조합니다.

  • 00:45:00 이 섹션에서 강사는 적절한 트리거 단어 감지 시스템을 구축하기 위해 브레인스토밍 아이디어와 예상 시간을 기반으로 효율적이고 선택하는 것의 중요성을 설명합니다. 제공된 조언은 "더러운" 것을 신속하게 구축하고 나중에 시스템을 더욱 개선하기 위해 데이터 세트를 개발하는 것입니다. 강사는 회사의 성공/실패의 차이는 궁극적으로 효율성과 주어진 시간을 최대한 활용하는 것으로 귀결된다고 강조합니다. 마지막으로 강사는 학생들에게 과정을 개선하는 데 도움이 되는 익명 설문 조사를 작성하도록 권장합니다 .
 

강의 7 - 신경망의 해석 가능성




Stanford CS230: 딥 러닝 | 2018년 가을 | 강의 7 - 신경망의 해석 가능성

이 강의에서 강사는 Saliency map, occlusion sensitivity, class activation map과 같은 신경망을 해석하고 시각화하는 여러 가지 방법을 소개합니다. 클래스 활성화 맵은 의사 결정 프로세스에서 입력의 어느 부분이 가장 차별적인지 시각화하기 위해 출력을 입력 공간에 다시 매핑하여 신경망의 중간 계층을 해석하는 데 사용됩니다. 교수는 또한 컨볼루션 신경망에서 공간 정보를 유지하는 방법으로 전역 평균 풀링을 논의하고 이미지 분할과 같은 작업을 위해 이미지의 높이와 너비를 업샘플링하는 방법으로 디컨볼루션을 논의합니다. 또한 이 강의에서는 컨볼루션 필터의 직교성 가정과 시각화 응용 프로그램에서 하위 픽셀 컨볼루션을 재구성에 사용할 수 있는 방법을 탐구합니다.

Sub-pixel convolution, 2D deconvolution, upsampling, unpooling 등 신경망을 해석하고 시각화하는 다양한 방법과 DeepViz 도구 상자 및 Deep Dream 알고리즘과 같은 도구의 사용을 다룹니다. 연사는 네트워크의 첫 번째 계층에서 필터를 시각화하는 것이 어떻게 해석을 용이하게 할 수 있는지 설명하지만 더 깊이 들어갈수록 네트워크를 이해하기가 더 어려워집니다. 다른 계층의 활성화를 검사하여 화자는 특정 뉴런이 특정 기능에 어떻게 반응하는지 보여줍니다. 신경망 해석에는 한계가 있지만 시각화 기술은 분할, 재구성 및 적대적 네트워크 생성과 같은 통찰력과 잠재적인 응용 프로그램을 제공할 수 있습니다.

  • 00:00:00 이 섹션에서 발표자는 신경망을 개선하기 위해 시행착오를 사용하는 것과는 반대로 신경망을 해석하는 아이디어를 소개합니다. 계속해서 신경망을 해석하기 위한 세 가지 방법인 돌출 맵, 폐색 민감도 및 클래스 활성화 맵을 소개합니다. 이러한 방법은 입력 공간을 다시 매핑하여 입력의 어떤 부분이 특정 출력에 대해 차별적인지 확인함으로써 네트워크의 의사 결정 프로세스를 이해하는 데 도움이 됩니다. 그런 다음 발표자는 중간 계층을 더 깊이 파고드는 방법과 경사 상승 클래스 모델 시각화, 데이터 세트 검색 및 디콘볼루션과 같은 방법을 사용하여 네트워크를 더 잘 이해하는 방법을 설명합니다. 목표는 시행 착오에 의존하는 대신 신경망을 개선하기 위한 과학적 방법을 제공하는 것입니다.

  • 00:05:00 이 섹션에서 강사는 신경망의 해석 가능성과 돌출 맵을 사용하여 네트워크가 보고 있는 것을 시각화하는 방법에 대해 설명합니다. 그들은 소프트맥스 레이어의 확률을 사용하는 대신 네트워크의 일반 출력에 가장 큰 영향을 미치는 픽셀을 식별하기 위해 소프트맥스 이전의 점수를 사용하는 것이 더 낫다고 설명합니다. 강사는 또한 보다 정확한 시각화를 위한 방법으로 폐색 감도를 소개합니다. 여기에는 입력 이미지의 개에 회색 사각형을 놓고 네트워크를 통해 여러 번 전파하여 개 클래스의 확률 맵을 생성하는 작업이 포함되며 네트워크의 신뢰도는 다른 색상으로 표시됩니다. 지도는 회색 사각형을 이동하여 입력 이미지의 어떤 영역이 네트워크가 강아지로 분류하는 데 가장 중요한지 보여줍니다.

  • 00:10:00 이 섹션에서 강사는 신경망을 해석하고 이해하는 세 가지 방법에 대해 설명합니다. 첫 번째 방법은 네트워크가 보고 있는 곳과 초점을 맞추고 있는 것을 보기 위해 이미지의 일부를 가리는 것입니다. 강사는 개와 의자 이미지로 이 방법을 시연하며 이미지의 어느 부분이 가려지는지에 따라 네트워크의 신뢰도가 어떻게 변하는지 보여줍니다. 두 번째 방법은 이미지의 특정 부분이 제거될 때 네트워크의 신뢰도가 실제로 증가하는 오클루전 감도입니다. 세 번째 방법은 클래스 활성화 맵으로, 이미지 수준 레이블에서만 훈련된 경우에도 이미지에서 객체를 현지화하는 네트워크의 기능을 보여줍니다. 강사는 이러한 위치 파악 능력이 물체 감지와 같은 작업에 중요하며 종종 분류 작업에 대한 교육을 통해 개발된다고 설명합니다.

  • 00:15:00 이 섹션에서 강사는 네트워크가 보고 있는 것을 시각화하는 데 유용한 공간 정보를 유지하기 위해 CNN(평탄화 및 완전 연결) 대신 전역 평균 풀링을 사용하는 방법을 보여줍니다. 6개의 특징 맵이 있는 볼륨을 얻은 후 전역 평균 풀링을 적용하여 6개 값의 벡터로 변환한 다음 확률을 얻기 위해 softmax 활성화와 함께 완전히 연결된 레이어로 공급됩니다. 완전히 연결된 레이어의 가중치를 보면 각 기능 맵이 출력에 얼마나 기여하는지 파악할 수 있으며 이러한 모든 기능 맵의 가중치 합을 통해 네트워크가 입력 이미지에서 무엇을 보고 있는지 알 수 있습니다.

  • 00:20:00 이 섹션에서 화자는 클래스 활성화 맵과 신경망에서 분석 중인 클래스에 어떻게 의존하는지에 대해 설명합니다. 첫 번째 활성화와 이전 레이어 사이의 에지를 검사하여 화자는 분석 중인 클래스에 따라 가중치가 다를 것이라고 설명합니다. 모든 기능 맵을 함께 합산하면 다른 결과를 얻을 수 있습니다. 그런 다음 발표자는 마지막 몇 개의 계층을 변경하여 클래스 활성화 맵을 네트워크로 시각화할 수 있는 방법과 이것이 어떻게 약간의 미세 조정이 필요한지 논의합니다. 발표자는 또한 116의 정규화를 포함하는 전역 평균 풀링 프로세스가 기능 맵을 알고 있으므로 정확히 다시 매핑할 수 있기 때문에 공간 정보를 죽이지 않는 방법에 대해 설명합니다.

  • 00:25:00 이 섹션에서 발표자는 클래스 활성화 맵이 신경망의 중간 레이어를 해석하기 위해 어떻게 작동하는지 설명합니다. 이 방법은 출력을 입력 공간에 다시 매핑하여 사용자가 의사 결정 프로세스에서 입력의 어떤 부분이 가장 차별적인지 시각화할 수 있도록 합니다. 원하는 출력의 점수를 최대화하는 반복 프로세스인 경사 상승을 통해 화자는 이 방법을 사용하여 네트워크가 생각하는 개의 모습을 나타내는 이미지를 찾는 방법을 보여줍니다. 화자는 이 방법이 이미지 데이터를 해석하는 효과적인 방법인 반면 어텐션 모델과 같은 다른 방법은 이미지가 아닌 데이터를 해석하는 데 사용된다고 말합니다.

  • 00:30:00 강의의 이 섹션에서 교수는 신경망이 보는 것을 시각화하기 위한 다양한 기술에 대해 논의합니다. 그는 특정 픽셀 값을 푸시하면 특정 클래스에 대해 더 높은 점수를 얻을 수 있는 방법과 L2 또는 가우시안 블러링과 같은 정규화가 어떻게 시각화 품질을 향상시킬 수 있는지에 대한 예를 보여줍니다. 교수는 또한 특정 클래스의 점수를 최대화하기 위해 목적 함수를 사용하는 클래스 모델 시각화의 아이디어와 네트워크가 올바른 것을 보고 있는지 확인하는 데 사용할 수 있는 방법을 소개합니다. 또한 교수는 데이터 세트 검색을 사용하여 기능 맵을 선택하고 네트워크를 통해 많은 데이터를 실행하여 어떤 데이터 포인트가 해당 기능 맵의 최대 활성화.

  • 00:35:00 이 섹션에서 강사는 컨벌루션 신경망의 다양한 기능 맵이 이미지의 다른 부분에 의해 어떻게 활성화되는지 설명합니다. 강사는 셔츠를 감지하는 기능 맵과 가장자리를 감지하는 다른 기능 맵의 예를 제시합니다. 그런 다음 강사는 네트워크에서 이미지의 활성화는 입력 이미지의 하위 부분만 보고 네트워크가 깊어질수록 각 레이어의 활성화는 이미지의 더 큰 부분을 본다고 설명합니다. 강사는 또한 코드 입력을 기반으로 이미지를 출력하는 데 디콘볼루션 네트워크를 사용할 수 있는 방법과 이 방법이 많은 뉴런이 있는 완전 연결 레이어를 사용하는 것보다 더 실용적일 수 있는 방법을 설명합니다.

  • 00:40:00 이 섹션에서는 발표자가 신경망에서 디컨볼루션을 사용하는 방법을 설명합니다. Deconvolution은 이미지의 높이와 너비를 업샘플링할 수 있으므로 이미지 분할과 같은 작업에 유용합니다. 또한 발표자는 그래디언트 어센트 방법과 언풀링, un-ReLU 및 디컨볼루션을 통해 입력 공간에서 활성화를 재구성하는 방법에 대해 설명합니다. 그런 다음 화자는 deconvolution을 행렬 벡터 수학적 연산으로 정의하고 패딩이 있는 1D convolution의 예를 제공합니다.

  • 00:45:00 강의의 이 섹션에서 교수는 행렬과 벡터 사이의 수학적 연산에 대해 논의하고 있습니다. 그는 크기가 4이고 보폭이 2인 하나의 필터가 있는 컨볼루션 레이어의 예를 제공합니다. 출력 크기는 nx-f+2p/스트라이드 공식을 사용하여 계산됩니다. 그런 다음 방정식 시스템을 작성하고 행렬의 모양을 찾아 행렬과 벡터 사이의 수학적 연산으로 이 컨벌루션을 정의하는 방법을 설명합니다. 결과 행렬은 방정식 시스템에 따라 채워지고 활성화 벡터에 행렬이 곱해집니다.

  • 00:50:00 강의의 이 섹션에서 강사는 컨볼루션 연산이 간단한 행렬 곱하기 벡터로 표현되는 방법을 설명합니다. 행렬은 가중치로 구성되며 행렬에서의 위치는 보폭 및 창 크기에 따라 결정됩니다. 컨볼루션을 행렬 연산으로 구성하면 행렬을 반전하여 디컨볼루션을 수행하고 원래 입력을 재구성할 수 있습니다. 그러나 이 접근 방식은 가중치 행렬이 가역적이고 직교한다고 가정하며 실제로는 항상 그렇지는 않습니다. 직교성 가정은 컨벌루션 필터가 에지 검출기인 경우에 유용합니다.

  • 00:55:00 강의의 이 섹션에서 교수는 재구성이 항상 사실이 아니더라도 유용할 것이라는 가정을 사용하여 Y에서 X를 생성하는 방법을 소개합니다. 그들은 일러스트레이션과 Menti 코드를 사용하여 프로세스를 시연하고 하위 픽셀 컨볼루션을 사용하여 위에서 아래가 아닌 왼쪽에서 오른쪽으로 스트라이크를 사용하여 동일한 작업을 수행하는 방법을 보여줍니다. 이 기술에는 원하는 출력을 얻기 위해 입력을 자르고 채우는 작업이 포함됩니다. 교수는 이러한 유형의 컨볼루션이 시각화 응용 프로그램의 재구성에 자주 사용된다고 지적합니다.

  • 01:00:00 이 섹션에서 강사는 벡터 Y에 0을 삽입하여 디컨볼루션을 보다 효율적으로 계산할 수 있는 하위 픽셀 컨볼루션의 개념을 설명합니다. 가중치를 뒤집고 보폭을 2로 나누고 0을 삽입하면 디컨볼루션 프로세스가 기본적으로 컨볼루션과 동일해집니다. 이 프로세스는 2차원 컨볼루션으로 확장될 수 있으며, 전반적으로 컨볼루션을 위한 행렬과 벡터 간의 수학적 연산에 대한 더 나은 이해를 제공합니다.

  • 01:05:00 이 섹션에서 발표자는 2D 디컨볼루션의 해석에 대해 자세히 설명합니다. 디컨볼루션의 의도는 재구성된 x인 5 x 5 입력을 얻는 것입니다. 이를 위해 스피커는 크기가 2x2인 필터가 conv 레이어에서 보폭이 2인 순방향 전파 입력에 적용됨을 보여줍니다. 그런 다음 deconvolution 기법을 적용하여 재구성된 이미지를 얻습니다. 강의에서는 디콘볼루션 프로세스가 필터를 취하고 모든 가중치에 y11을 곱하고 이를 1 보폭만큼 이동하고 모든 항목에 대해 동일한 프로세스를 반복하는 것을 포함한다고 설명합니다. 연사는 그 과정이 다소 복잡하다는 점을 언급하며 결론을 내립니다. 그러나 deconvolution의 개념이 잘 이해되지 않더라도 걱정할 필요는 없습니다.

  • 01:10:00 강의의 이 섹션에서 교수는 시각적인 방식으로 이미지의 업샘플링 프로세스를 설명합니다. 그는 이미지를 재구성하기 위해서는 가능하면 ConvNet의 가중치를 사용해야 한다고 설명합니다. 그런 다음 4x4 이미지로 시작하는 업샘플링 프로세스를 시각적으로 보여줍니다. 0을 삽입하고 9x9 이미지에 패딩한 다음 필터를 사용하여 이미지를 컨볼루션하고 위로 컨벌루션을 수행합니다. 그는 또한 최대 풀이 수학적으로 가역적이지 않지만 최대값에 대한 확산 및 캐싱 스위치를 통해 프로세스를 근사화할 수 있다고 말하면서 풀링 및 언ReLU 방법에 대해 간략하게 설명합니다.

  • 01:15:00 이 섹션에서는 원래 입력을 재구성하기 위한 스위치 및 필터 사용과 함께 신경망의 풀링 및 최대 풀링 개념에 대해 설명합니다. ReLU 활성화 함수에 대해서도 설명하고 ReLU 역방향 개념을 소개합니다. ReLU DeconvNet의 사용은 정방향 전파에 의존하지 않는 편향되지 않은 재구성을 위한 방법으로 설명됩니다. 이 접근 방식은 해킹으로 설명되며 항상 과학적으로 실행 가능한 것은 아니지만 신경망을 시각화하고 해석하는 데 유용합니다.

  • 01:20:00 강의의 이 섹션에서 연사는 각 활성화가 무엇에 해당하는지 찾아 신경망 내부에서 일어나는 일을 시각화하고 이해하는 방법을 설명합니다. 시각화 기술에는 활성화 선택, 최대 활성화 찾기, 다른 모든 항목을 0으로 설정한 다음 이미지 재구성이 포함됩니다. 발표자는 가중치가 픽셀을 직접 곱하기 때문에 네트워크의 첫 번째 계층에 있는 필터를 해석할 수 있는 방법에 대해 설명합니다. 그러나 네트워크에 더 깊이 들어갈수록 필터를 해석하기가 더 어려워집니다. 연사는 또한 우리가 더 깊이 들어갈수록 더 복잡해지는 것을 설명하고 다양한 필터의 예와 필터를 활성화하는 이미지 유형을 제공합니다.

  • 01:25:00 강의의 이 섹션에서 연사는 DeepViz 도구 상자를 사용하여 신경망의 해석 가능성을 조사하는 방법을 보여줍니다. 컨볼루션 네트워크의 여러 계층에서 뉴런의 활성화를 검사하여 화자는 얼굴이나 주름과 같은 특정 기능에 대한 응답으로 특정 뉴런이 어떻게 작동하는지 보여줍니다. 연사는 또한 기울기를 특정 레이어의 활성화와 동일하게 설정하여 이미지를 생성하는 Deep Dream 기술을 선택적으로 사용하여 신경망 동작을 더 자세히 탐색할 수 있다고 언급합니다.

  • 01:30:00 이 섹션에서 발표자는 신경망의 활성화를 입력 레이어로 역전파하고 픽셀을 업데이트하여 이미지를 생성하는 Deep Dream 알고리즘을 시연합니다. 그 결과 동물과 기타 물체가 함께 모핑된 다양한 초현실적 이미지가 탄생했습니다. 연사는 또한 신경망 해석의 한계와 클래스 활성화 맵 및 디콘볼루션과 같은 시각화 기술을 사용하여 네트워크가 세상을 보고 죽은 뉴런을 감지하는 방법을 이해하는 방법에 대해 논의합니다. 또한 연사는 세분화, 재구성 및 적대적 네트워크 생성을 포함하여 이러한 시각화의 잠재적인 응용 분야를 강조합니다.
 

강의 8 - 진로 조언 / 연구 논문 읽기




Stanford CS230: 딥 러닝 | 2018년 가을 | 강의 8 - 진로 조언 / 연구 논문 읽기

이 강의에서 Andrew Ng 교수는 연구 논문을 효율적으로 읽고 빠르게 발전하는 딥 러닝 분야를 따라잡는 방법에 대한 조언을 제공합니다. 그는 그림과 표에 주의를 기울일 뿐만 아니라 서론과 결론 섹션에서 작업을 요약하는 것의 중요성을 강조합니다. Ng는 또한 구직자들이 여러 AI 및 기계 학습 영역에 대한 광범위하고 깊은 지식을 모두 갖추고 성장 기회를 극대화하기 위해 유명 브랜드보다는 개인과 일하는 데 집중할 것을 권장하는 경력 조언을 공유합니다. 그는 기계 학습의 강력한 기반을 위한 과정과 프로젝트를 통해 논문을 읽고 수평적 및 수직적 기술을 모두 구축하는 일관성을 제안합니다.

  • 00:00:00 강의의 이 섹션에서 발표자는 특히 빠르게 발전하는 딥 러닝 분야에서 연구 논문을 효율적으로 읽는 방법에 대한 조언을 공유합니다. 그는 arXiv에 게시된 연구 논문, Medium 게시물 및 가끔 GitHub 게시물을 포함하여 논문 및 리소스 목록을 편집할 것을 제안합니다. 그런 다음 그는 논문을 훑어보고 각 논문을 빠르게 이해하고 이해가 되지 않거나 도움이 되지 않는 논문은 건너뛸 것을 권장합니다. 그는 중요한 논문에 더 많은 시간을 할애하고 주제에 대한 추가 논문을 찾기 위해 인용을 사용할 것을 제안합니다.

  • 00:05:00 이 섹션에서 강사는 특정 주제에 대한 이해를 높이기 위해 연구 논문 읽기에 대한 지침을 제공합니다. 그는 15~20개의 논문을 읽으면 해당 분야에 대한 기본적인 이해를 할 수 있고 50~100개의 논문을 읽으면 아주 좋은 이해를 할 수 있다고 제안합니다. 또한 그는 한 논문을 읽는 방법에 대한 조언을 제공하며, 첫 번째 통과 시 제목, 초록, 그림을 읽는 데 중점을 두고 논문을 여러 번 통과해야 한다고 제안합니다. 강사는 서론과 결론 섹션에서 작업을 요약하는 것의 중요성을 강조합니다. 이는 저자가 작업의 중요성에 대해 명확한 사례를 만드는 경우가 많기 때문입니다.

  • 00:10:00 강의의 이 섹션에서는 연사가 연구 논문을 효율적으로 읽는 방법에 대해 조언합니다. 그는 논문의 초록, 서론, 결론부터 시작하여 내용을 명확하게 이해할 것을 제안합니다. 또한 문헌에 익숙하지 않은 경우 이해하기 어려울 수 있는 관련 작업 섹션을 훑어보라고 조언합니다. 연사는 논문 전체를 읽을 것을 권장하지만, 논문에 중요하지 않은 섹션이 포함되는 것은 드문 일이 아니기 때문에 이해가 되지 않는 부분은 건너뛸 것을 권장합니다. 마지막으로 그는 저자가 달성하려고 했던 것과 적용할 수 있는 핵심 요소를 포함하여 논문에 대한 이해를 공고히 하기 위해 독자가 시도하고 답할 일련의 질문을 제공합니다.

  • 00:15:00 강의의 이 섹션에서 교수는 학생들에게 연구 논문을 읽도록 권장하고 수학을 탐구하기 전에 영어 텍스트부터 시작하도록 권장합니다. 그는 "Densely Connected Convolutional Neural Networks"라는 논문을 할당하고 학생들에게 급우들과 토론하기 전에 7분 동안 읽을 것을 제안합니다. 그는 또한 실습을 통해 학생들이 네트워크 아키텍처를 설명하는 데 사용되는 일반적인 형식을 이해하는 것을 포함하여 연구 논문을 더 빨리 읽고 이해할 수 있다고 언급합니다. 교수는 논문의 그림과 표에 제시된 주요 개념에 집중하면 더 빨리 배울 수 있다고 강조한다.

  • 00:20:00 이 섹션에서는 Andrew Ng 교수가 딥 러닝 연구를 따라잡고 이해하는 방법에 대한 조언을 제공합니다. 그는 웹 검색을 하고 중요한 논문에 대한 블로그 게시물을 찾고 Twitter와 ML Subreddit을 확인하고 온라인에서 논문을 자주 공유하는 연구원을 팔로우할 것을 제안합니다. Ng는 또한 동료 또는 급우와 커뮤니티를 구성하여 흥미로운 논문을 공유하고 알고리즘을 깊이 이해하기 위해 자세한 메모에서 수학을 다시 도출할 것을 권장합니다. Ng는 논문 한 편에 소요되는 시간은 경험 수준과 난이도에 따라 다를 수 있지만 더 많은 시간을 할애할수록 딥 러닝 개념에 대한 더 풍부한 이해로 이어질 수 있다고 강조합니다.

  • 00:25:00 이 섹션에서 강사는 학생들에게 새로운 알고리즘을 일반화하고 도출할 수 있는 능력을 허용하므로 깊은 이해를 보장하기 위해 기계 학습 알고리즘을 처음부터 다시 파생하도록 조언합니다. 그는 또한 학습에 관한 한 벼락치기보다 간격을 두고 반복하는 것을 권장하고, 학생들이 독서 그룹을 형성하고 동료들과 협력하여 계속 학습하고 기계 학습 분야에서 경력을 쌓도록 권장합니다. 그는 격렬한 활동보다 꾸준한 학습을 강조하고 진로 탐색에 접근하는 방법에 대한 팁을 제공합니다.

  • 00:30:00 강의의 이 섹션에서 연사는 기계 학습 분야에서 직업을 구하거나 박사 과정에 참여하는 방법에 대해 논의하고 중요한 일을 하는 것의 중요성을 강조합니다. 채용 담당자는 기계 학습에서 기술 능력, 코딩 능력 및 의미 있는 업무 경험을 찾습니다. 새로운 기술을 계속 배우고 현장의 급속한 발전에 대한 최신 정보를 유지하는 능력도 매우 중요합니다. 성공적인 AI 및 기계 학습 엔지니어는 기계 학습의 다양한 영역에 대해 배우고 해당 영역에서 작업한 경험이 있어 다양한 설정에서 기계 학습 알고리즘을 적용하는 방법에 대한 강력한 이해로 이어지는 사람들입니다.

  • 00:35:00 이 섹션에서 강사는 구직자에게 바람직한 "T자형" 기술에 대해 논의합니다. 영역. 그는 의미 있는 프로젝트 작업, 오픈 소스에 기여 또는 채용 담당자에게 후보자의 능력을 확신시키기 위한 연구 수행과 같은 실제 경험을 갖는 것이 중요하다고 강조합니다. 강사는 실제 경험을 얻지 못한 채 너무 많은 수업을 듣거나, 너무 빨리 너무 깊게 뛰어들거나, 깊이가 거의 없는 작은 프로젝트를 너무 많이 하는 것에 대해 경고합니다.

  • 00:40:00 강의의 이 섹션에서 Ng 교수는 수평 및 수직 조각을 권장하여 기계 학습에서 견고한 기반을 구축하는 방법에 대한 조언을 제공합니다. 그는 10개의 작은 프로젝트를 완료하는 것이 한두 개의 훌륭한 프로젝트만큼 채용 담당자에게 깊은 인상을 주지 못할 수도 있다고 지적합니다. AI 및 기계 학습의 기본 기술로 구성된 수평적 부분을 구축하기 위해 그는 과정을 수강하고 연구 논문을 읽고 커뮤니티에 가입할 것을 권장합니다. Ng는 보다 관련성이 높고 심도 있는 프로젝트를 수행하는 수직적 부분을 구축하기 위해 머신 러닝 또는 AI와 관련된 작업을 수행하여 이 분야에서 경력을 쌓는 데 도움이 되도록 조언합니다. 그는 계속해서 재미와 휴식의 중요성을 강조합니다. 개인적인 만족 외에는 딥 러닝 작업에 대한 단기적인 보상이 없는 경우가 많기 때문입니다.

  • 00:45:00 이 섹션에서 강사는 딥 러닝 분야를 개선하기 위해 일관성이 얼마나 중요한지 논의합니다. 1년 동안 꾸준히 일주일에 두 편의 논문을 읽으면 100편의 논문을 읽게 되고 자신의 현장 향상에 기여하게 됩니다. 게다가 훌륭한 사람과 프로젝트는 성공의 가장 큰 예측 변수이며, 열심히 일하고, 많은 논문을 읽고, 자신의 일에 관심을 갖는 친한 친구가 있으면 똑같이 하는 데 영향을 줄 수 있습니다. 직업을 선택할 때는 팀에 집중하고 경력을 쌓고 실력을 향상시킬 수 있는 10~30명 정도의 집단과 교류하는 것이 좋다.

  • 00:50:00 이 섹션에서 연사는 딥 러닝 애호가를 위한 진로 조언을 제공하여 브랜드 대신 회사의 개인에 집중할 것을 촉구합니다. 연사는 자신의 관리자와 그들이 상호 작용하는 핵심 그룹이 그들에게 가장 큰 영향을 미칠 것이라고 강조합니다. 그들의 노력 수준과 가르치려는 의지를 고려할 때 개인 평가와 개인과의 연결이 회사 브랜드보다 더 중요해집니다. 대기업이 소규모 AI 팀에 구인 제안을 보내는 것과 같은 예시 시나리오는 개인과 개인의 성장에 어떤 영향을 미치는지에 초점을 두고 평가됩니다. 회사 브랜딩을 위해 개인을 무시하는 실패 방식은 특정 사람들과 일하는 데 집중하기보다 잘 알려진 회사의 Java 기반 백엔드 지불 작업 제안을 수락한 후 경력이 정체된 학생의 개인적인 예를 통해 강조됩니다. 작은 팀에서.

  • 00:55:00 이 섹션에서 Andrew Ng는 이론적으로는 좋아 보이지만 회사 내에서 성장을 위한 명확한 방향이나 기회를 제공하지 않을 수 있는 순환 프로그램을 고려할 때 주의할 것을 조언합니다. 그는 큰 브랜드 이름을 쫓기보다는 기계 학습에서 중요한 작업을 수행할 수 있는 작고 덜 알려진 팀과 함께 일할 기회를 모색할 것을 제안합니다. 그는 업계에서 권위 있는 브랜드 이름에만 집중하는 것보다 학습 경험을 우선시하고 영향력 있는 작업을 수행하는 것의 중요성을 강조합니다.

  • 01:00:00 비디오의 이 섹션에서는 연사가 경력 초기 단계에 있는 사람들에게 경력 조언을 제공합니다. 훌륭한 팀원들과 함께 팀에 합류하여 다른 사람들을 돕는 의미 있는 일을 하는 것이 좋습니다. 그러나 그는 담배와 같은 유해한 제품을 생산하는 회사에서 일하지 말라고 조언합니다. 그는 다양한 산업 분야에서 해야 할 중요한 일이 많고 세상에는 다양한 일을 할 사람들이 필요하다고 믿습니다. 그는 기계 학습의 다음 물결이 기술 회사뿐만 아니라 기술이 구현되지 않은 모든 전통 산업을 살펴보는 것이라고 제안합니다.
 

강의 9 - 심층 강화 학습




Stanford CS230: 딥 러닝 | 2018년 가을 | 강의 9 - 심층 강화 학습

강의에서는 딥러닝과 강화학습을 결합한 딥 강화학습을 소개한다. 강화 학습은 레이블이 지연된 상황에서 좋은 일련의 결정을 내리는 데 사용되며 로봇 공학, 게임 및 광고와 같은 다양한 분야에 적용됩니다. 심층 강화 학습은 Q-테이블을 신경망인 Q-함수로 대체합니다. 강사는 심층 강화 학습을 적용하는 문제에 대해 논의하지만 네트워크를 교육하기 위해 Bellman 방정식을 기반으로 Q-점수에 대한 목표 값을 생성하는 기술을 설명합니다. 이 강의에서는 심층 강화 학습 교육에서 경험 재생의 중요성과 RL 알고리즘의 착취와 탐색 사이의 균형에 대해서도 논의합니다. 게임 Breakout에 대한 심층 강화 학습의 실제 적용에 대해서도 논의합니다.

강의에서는 DRL(Deep Reinforcement Learning)과 관련된 다양한 주제에 대해 논의합니다. DRL의 탐색-이용 trade-off에 대해 논의하고, 탐색 확률을 결정하는 하이퍼파라미터를 이용한 솔루션을 제안한다. DRL에서 인간 지식의 중요성과 그것이 알고리즘 의사 결정 프로세스를 강화할 수 있는 방법을 탐구합니다. 이 강의에서는 정책 기울기, 구현을 위한 다양한 방법 및 과적합 방지에 대해서도 다룹니다. 또한 희박한 보상 환경의 문제를 강조하고 "Unifying the Count-based Metas for Exploration"이라는 최근 논문의 솔루션에 대해 간략하게 설명합니다. 마지막으로 강의는 Redmon et al.의 YOLO 및 YOLO v2 논문을 간략하게 언급합니다. 객체 감지에 대해.

  • 00:00:00 이 섹션에서 연사는 심층 학습과 강화 학습이라는 AI의 또 다른 영역을 결합한 심층 강화 학습의 아이디어를 소개합니다. 발표자는 심층 신경망이 함수 근사에 뛰어나며 함수 근사가 필요한 다양한 분야에 적용될 수 있으며 강화 학습이 이러한 예 중 하나라고 설명합니다. 발표자는 AlphaGo 및 Google의 DeepMind 논문과 같은 예를 통해 강화 학습 아이디어에 동기를 부여합니다. 딥 러닝을 사용하여 다양한 게임(주로 Atari 게임)에서 인간 수준의 성능을 능가하도록 에이전트를 훈련했습니다. 발표자는 또한 에이전트가 체스판보다 훨씬 큰 바둑과 같은 복잡한 게임에서 장기적인 전략을 가질 수 있도록 하기 때문에 강화 학습이 중요하다고 설명합니다.

  • 00:05:00 동영상의 이 섹션에서 교수는 학생들에게 딥 러닝을 사용하여 바둑 게임에서 이기는 방법을 배울 수 있는 에이전트를 구축하는 방법을 고려하도록 합니다. 하나의 가능한 데이터 세트는 게임 보드의 입력-출력 페어링과 해당 위치에 대한 승리 확률일 수 있지만 주어진 보드 위치에서 승리 확률을 나타내기 어렵기 때문에 어렵습니다. 또 다른 옵션은 프로 선수의 동작을 보고 이를 데이터 입력 및 출력으로 기록하여 과거 프로 선수가 했던 동작의 데이터 세트를 구축하는 것입니다. 그러나 정확한 표현을 위해 게임에 너무 많은 상태가 있고 프로 선수마다 전략이 다르기 때문에 실측이 틀릴 가능성이 높기 때문에 이것도 어렵습니다. 단순한 패턴 인식이 아니라 전략의 문제이기 때문에 알고리즘이 일반화되지 않을 위험도 있습니다.

  • 00:10:00 이 섹션에서 강사는 좋은 결정 시퀀스를 만들기 위해 자동으로 학습하는 방법인 강화 학습(RL)을 소개합니다. RL은 게임에서 승리할 확률과 같은 지연된 레이블이 있는 상황에서 사용됩니다. RL은 로보틱스, 게임, 광고 등 다양한 분야에 적용되고 있습니다. RL이 어떻게 작동하는지 설명하기 위해 강사는 5가지 상태가 있는 게임을 소개하고 이 게임에서 장기 수익이 어떻게 정의되는지 설명합니다. 게임의 목표는 상태를 이동하고 사용 가능한 보상에 따라 결정을 내려 장기적으로 보상을 최대화하는 것입니다.

  • 00:15:00 이 섹션에서는 장기 수익의 개념과 강화 학습에서 Q-러닝에 대한 할인 수익의 사용에 대해 설명합니다. 할인된 수익은 의사 결정에서 시간의 중요성을 고려하고 할인되지 않은 수익으로 발생할 수 있는 수렴 문제를 완화하는 데 도움이 됩니다. Q-Learning의 목표는 모든 상태에서 각 동작에 대한 점수를 나타내는 Q 테이블 행렬을 저장하여 각 상태에서 최적의 동작을 학습하는 것입니다. 상담원은 Q 테이블 점수를 사용하여 주어진 상태에서 최대 값과 해당 조치를 결정하여 신속하게 의사 결정을 내릴 수 있습니다. 트리 다이어그램을 통해 Q 테이블을 구축하는 과정도 설명했습니다.

  • 00:20:00 이 섹션에서 교수는 모든 상태에서 취해야 할 조치를 알려주는 매트릭스를 사용하여 Q-러닝의 반복 알고리즘을 설명합니다. 각 상태에 대한 장기 할인 보상을 계산하기 위해 즉각적인 보상과 할인에 가능한 최대 미래 보상을 곱한 Bellman 방정식을 사용합니다. 반복 알고리즘은 어떤 지점에서 수렴해야 하며 Q-함수는 최적의 Bellman 방정식을 따라야 합니다. 교수는 Q-러닝을 이해하는 데 벨만 방정식의 중요성을 강조합니다.

  • 00:25:00 이 섹션에서 연사는 환경, 에이전트, 상태, 행동, 정책, 보상, 총 수익, 할인 요소, Q-테이블 및 Bellman 방정식을 포함하는 강화 학습의 어휘에 대해 이야기합니다. Q 테이블은 상태 S에서 A를 취하는 것이 얼마나 좋은지를 나타내는 항목의 행렬이고, 정책은 상태에서 적용할 최선의 전략이 무엇인지 알려주는 의사 결정 기능입니다. 상태 수가 너무 많아 Q-테이블 솔루션이 비실용적일 수 있습니다. 딥 러닝은 Q 테이블을 신경망인 Q 함수로 대체하여 강화 학습에 들어갑니다. 그러나 Q-점수의 동적인 변화로 인해 네트워크 교육이 기존 감독 학습 설정과 다릅니다.

  • 00:30:00 강의의 이 섹션에서 교수는 지도 학습과 크게 다르기 때문에 심층 강화 학습을 적용할 때 발생하는 문제에 대해 논의합니다. 주요 문제 중 하나는 Q 점수가 역동적이고 끊임없이 변화하기 때문에 레이블이 없다는 것입니다. 이를 해결하기 위해 교수는 Bellman 방정식을 기반으로 Q-점수에 대한 목표 값 또는 레이블을 만드는 기술을 설명합니다. 이 프록시를 레이블로 사용하여 수렴으로 이어지는 반복 업데이트를 통해 최적의 Q 기능에 더 가까워지도록 네트워크를 훈련할 수 있습니다.

  • 00:35:00 이 섹션에서는 심층 강화 학습에서 Bellman 방정식의 개념과 역전파에서의 사용에 대해 설명합니다. Bellman 방정식은 보상 측면에서 얻으려는 최적의 값에 더 가까운 값을 계산하는 데 사용됩니다. Q 기능이 생성되고 Bellman 방정식과 비교되어 최상의 Q 기능을 결정합니다. 그러나 알고리즘에는 발산 가능성이 있으며 알고리즘의 수렴은 Francisco Melo의 논문에서 입증되었습니다. DQN 알고리즘의 구현은 Q-네트워크 매개변수 초기화, 에피소드 반복, Bellman 방정식을 통한 목표 값 계산, 고정 Q 목표 네트워크를 사용한 역전파를 포함하는 유사 코드를 통해 설명됩니다.

  • 00:40:00 이 섹션에서는 비디오에서 Deep Q-Network를 Breakout 게임에 실제로 적용하는 방법에 대해 설명합니다. Breakout의 목표는 공이 바닥 라인을 통과하지 못하게 하면서 모든 벽돌을 파괴하는 것입니다. 에이전트는 Q-러닝을 사용하여 훈련한 후 벽돌 반대편에 도달하기 위해 터널을 파는 방식으로 게임을 빨리 끝내는 요령을 알아냈습니다. 네트워크는 사람의 감독 없이 스스로 이 전략을 알아냈습니다. Q-network의 입력은 공, 패들 및 벽돌의 위치를 포함하는 기능 표현입니다. 그러나 전체 정보를 얻으려면 픽셀을 사용해야 합니다. 네트워크의 출력은 왼쪽으로 이동, 오른쪽으로 이동 또는 특정 상태에서 유휴 상태를 유지하는 동작을 나타내는 세 개의 Q 값입니다.

  • 00:45:00 이 섹션에서 발표자는 특히 이미지 작업에서 심층 강화 학습을 위한 심층 Q 네트워크 아키텍처를 설정하는 데 도움이 되는 다양한 사전 처리 기술에 대해 설명합니다. 첫 번째 기술은 네트워크에 추가 정보를 제공하기 위해 연속적인 프레임을 취하는 것과 관련되며, 다른 전처리 기술에는 입력 크기 줄이기, 이미지 압축을 위한 회색조 변환, 특정 게임의 점수와 같은 중요하지 않은 픽셀 제거가 포함됩니다. 발표자는 그레이스케일로 축소할 때 중요한 정보를 잃을 위험이 있음을 경고하고, 입력이 이미지이기 때문에 컨볼루션 신경망을 활용한다고 말하면서 deep Q 네트워크 구조에 대해 자세히 설명합니다. 마지막으로 스피커는 y 기능에 중요한 적절한 루프 종료를 보장하기 위해 터미널 상태를 추적해야 할 필요성을 설명합니다.

  • 00:50:00 이 섹션에서 강사는 강화 학습에서 경험 재생의 중요성을 설명합니다. 이를 통해 현재 탐색 중인 것보다 과거 경험에 대한 교육이 가능합니다. 강화 학습은 탐구하는 것에 대해서만 훈련하기 때문에 특정 상태 전환을 다시는 만나지 않을 수 있으므로 과거 경험이 훈련에 매우 중요합니다. 경험 재생은 과거 경험을 저장할 수 있는 재생 메모리를 생성하고 훈련 중에 알고리즘은 새로운 상태 전환을 탐색하는 것 외에도 재생 메모리에서 샘플링할 수 있습니다. 이를 통해 교육에서 과거 경험을 여러 번 사용할 수 있으며 이는 중요한 데이터 포인트를 학습하는 데 중요할 수 있습니다.

  • 00:55:00 강의의 이 섹션에서 연사는 심층 강화 학습에서 경험 재생의 이점에 대해 논의합니다. 첫째, 데이터를 한 번이 아닌 여러 번 사용할 수 있어 데이터 효율성이 향상됩니다. 둘째, 경험 재생은 경험의 상관관계를 제거하여 네트워크가 한 행동을 반복적으로 예측하는 쪽으로 편향되지 않도록 합니다. 마지막으로 비용이 많이 드는 탐색과 비교하여 계산 및 메모리를 거래할 수 있습니다. 발표자는 또한 RL 알고리즘에서 착취와 탐색 사이의 균형에 대해 이야기하고 항상 최선의 조치를 취하지 않음으로써 탐색을 장려하는 방법을 제안합니다.

  • 01:00:00 이 섹션에서는 강사와 학생들이 강화 학습에서 탐색-이용 트레이드오프 문제에 대해 논의하고 에이전트가 익스플로잇 대신 탐색해야 하는 확률을 결정하는 하이퍼 매개변수를 사용하여 솔루션을 제공합니다. 탐색이 중요한 이유를 설명하고 리플레이 메모리에서 엡실론 탐욕적인 탐색을 위해 의사 코드에 줄을 추가합니다. 그들은 강화 학습에서 딥 러닝을 사용하는 주요 이점은 함수를 잘 근사화하는 능력이라고 강조합니다. 마지막으로 강화 학습에서 인간 지식의 주제와 알고리즘의 성능을 평가하는 것이 필수적인 이유에 대해 간략하게 다룹니다.

  • 01:05:00 강의의 이 섹션에서 교수는 인간의 지식이 심층 강화 학습(DRL)에서 중요한 역할을 하는 방법을 설명합니다. 인간은 상황적 단서를 효율적이고 본능적으로 해석할 수 있습니다. 예를 들어 인간은 열쇠가 문을 여는 것을 알고 있고, 그 이해가 알고리즘 의사 결정 프로세스를 크게 강화할 수 있음을 알고 있습니다. 어려움은 DeepMind가 트리 검색 및 딥 러닝 알고리즘을 구현하여 달성한 위업인 Montezuma의 Revenge 게임과 같이 제한된 상황 정보로 알고리즘을 훈련하는 데 있습니다. 강의는 Alpha Go 게임과 결합된 트리 검색 및 가치 네트워크가 어떻게 알고리즘 의사 결정 프로세스를 개선할 수 있는지에 대해 간략하게 다룹니다.

  • 01:10:00 이 섹션에서 강사는 상태에서 작업(정책)으로 직접 매핑하도록 최적화하는 DQN과는 완전히 다른 알고리즘 클래스인 정책 기울기를 소개합니다. 강사는 정책 기울기에서 초점은 Q-값이 아닌 정책 자체에 있으며 정책 네트워크는 DQN의 Q-함수 업데이트와 달리 정책의 기울기를 사용하여 업데이트된다고 설명합니다. 강사는 다양한 동영상을 통해 PPO(Proximal Policy Optimization) 및 Competitive Self-Play와 같은 다양한 정책 기울기 방법을 설명하고 실제 에이전트에 오버피팅하는 기술적인 포인트를 강조하여 여러 버전의 에이전트 간에 전환할 필요성을 제안합니다. 과적합을 피하기 위한 에이전트. 마지막으로 강사는 최소한의 기울기 단계로 특정 작업을 학습할 수 있도록 유사한 작업의 분포에 대해 메타 학습이 어떻게 훈련되는지 설명합니다.

  • 01:15:00 강의의 이 섹션에서 연사는 탐색-착용 딜레마와 특히 보상이 희박할 때 어떻게 도전이 될 수 있는지에 대해 논의합니다. 그는 "Unifying the Count-based Metas for Exploration"이라는 최근 논문에 대해 이야기합니다. 이 논문에서는 주를 몇 번이나 방문했는지에 대한 카운트를 유지하고 더 적은 수의 주를 방문하는 에이전트에게 본질적인 보상을 제공하는 아이디어를 소개합니다. 이렇게 하면 에이전트가 더 많이 탐색하고 살펴보고 게임에서 다른 방을 발견할 수 있습니다. 연사는 또한 모방 학습과 보상을 정의하는 것이 어려울 때 모방 학습이 어떻게 도움이 될 수 있는지 간략하게 설명합니다.

  • 01:20:00 이 섹션에서 발표자는 Redmon 등의 YOLO 및 YOLO v2 논문을 다루었다고 간략하게 언급합니다. 객체 감지에 대해. 추가 정보는 제공되지 않습니다.
사유: