Top

머신러닝을 위한 효율적 데이터 레이블링 [인간 중심 AI를 위한 능동학습과 어노테이션]

  • 원서명Human-in-the-Loop Machine Learning: Active learning and annotation for human-centered AI (ISBN 9781617296741)
  • 지은이로버트 (먼로) 모나크(Robert (Munro) Monarch)
  • 옮긴이김택구, 제갈호준
  • ISBN : 9791161758084
  • 40,000원
  • 2023년 12월 28일 펴냄
  • 페이퍼백 | 564쪽 | 188*235mm
  • 시리즈 : 데이터 과학

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/HITL-ML

요약

알고리듬 중심의 머신러닝 시대에서 데이터 중심의 머신러닝 시대로의 전환을 알리는 책이다. 머신러닝 알고리듬에 대한 상세한 설명보다는 데이터 관점에서 머신러닝 모델의 성능을 향상시키기 위해 취해야 하는 어노테이션 전략과 방법론을 광범위하게 다룬다. 다양한 샘플링 기법과 프로세스를 알고리듬 유형에 따라 소개하며, 효율적인 데이터 레이블링을 위한 사용자 인터페이스 및 조직의 관점을 저자의 경험에 비추어 제시한다. 적절한 데이터를 확보해 머신러닝 문제를 풀고자 하는 개인이나 기업에게 더없이 좋은 길잡이가 될 것이다.

추천의 글

“능동학습을 이론과 실무 관점에서 배울 수 있는 최고의 참고서다.”

—사약 폴(Sayak Paul),
PyImageSearch

“개발 주기에서 능동학습을 통합하고자 하는 모든 실무자가 반드시 봐야 한다. 완성도가 높은 책으로, 적절한 범위를 다루고 있으며 실무적인 예제로 가득 차 있다.”

—비디야 비나이(Vidhya Vinay),
Streamingo.ai

“매우 적절하고 현실적인 예제로 가득하다. 동료들에게 이 책을 추천한다.”

—라제쉬 쿠마르(Rajesh Kumar R S),
Mindtree

“진정한 전문가이자 실무자가 쓴 머신러닝 지도학습에 대한 최고의 참고서다.”

—미할 루트카(Michał Rutka),
MQL Service

이 책에서 다루는 내용

◆ 적절한 학습 데이터와 평가 데이터 식별
◆ 적절한 데이터 어노테이터 탐색과 관리
◆ 어노테이션 품질 관리 전략 선정
◆ 정확도와 효율성을 개선하기 위한 인터페이스 설계

이 책의 대상 독자

데이터 과학자, 소프트웨어 개발자와 머신러닝을 이제 막 시작한 (또는 최근 데이터 분야에서 자신의 커리어를 시작한) 학생을 위한 책이다. 지도학습과 비지도학습 머신러닝, 머신러닝 모델의 학습과 검증, PyTorch, TensorFlow 같은 라이브러리에 어느 정도 익숙한 사람이면 더 좋겠지만, 이 분야의 전문가일 필요는 없다.
여러분이 더 많은 경험을 하게 됐을 때 이 책이 여러 기법에 관한 유용한 참고서가 되길 희망한다. 또한 어노테이션, 능동학습과 어노테이션을 위한 인터페이스 설계와 같은 가장 보편적인 전략을 담은 첫 번째 책이기도 하다.

이 책의 구성

크게 4부로 나눠져 있다. 도입부, 능동학습에 관한 심층 분석, 어노테이션에 관한 심층 분석 그리고 최종 부분이다. 최종 부분에서는 인터페이스 설계 전략과 3개의 구현 예제도 포함해 이 책의 전반적인 내용을 종합했다.
1부에서는 어노테이션, 능동학습 그리고 사람과 기계가 지능을 가장 효과적으로 결합할 수 있도록 도움을 주는 인간-컴퓨터 상호작용과 같은 개념을 포함해 학습 데이터와 평가 데이터 생성을 위한 구성 요소를 소개한다. 2장의 마지막에는 뉴스 헤드라인을 레이블링하는 인간 참여 머신러닝 애플리케이션을 구축해 새로운 데이터의 어노테이션부터 모델을 재학습하는 주기를 완료한 후, 어떤 데이터가 다음에 어노테이션돼야 하는지 결정하는 데 도움을 주는 모델을 이용할 수 있게 될 것이다.
2부에서는 능동학습, 즉 사람이 검토해야 하는 가장 중요한 데이터를 샘플링하는 기법을 다룬다. 3장에서는 모델의 불확실성을 이해하기 위해 가장 널리 사용되는 기법을 다루며, 4장에서는 과소 샘플링됐거나 대표성이 부족한 데이터로 인해 신뢰도와 무관하게 모델의 잘못된 지점을 식별하는 다소 복잡한 문제를 다룬다. 5장에서는 다양한 전략을 종합적 능동학습 시스템으로 결합하는 방법을 소개하고, 6장에서는 능동학습 기법을 다양한 유형의 머신러닝 과제에 적용하는 법을 안내한다.
3부에서는 학습 및 평가 데이터에 대한 정확하고 대표성 있는 레이블을 얻는 중요한 주제임에도 때때로 과소평가받고 있는 어노테이션에 대해 다룬다. 7장에서는 데이터에 어노테이션을 달 수 있는 적합한 사람을 찾고 관리하는 방법을 다룬다. 8장에서는 어노테이션에 대한 품질 관리의 기본 사항을 다루고, 정확도와 일치도를 계산하는 가장 일반적인 방법을 소개한다. 9장에서는 주관적인 작업에 대한 어노테이션과 규칙 기반 시스템, 검색 기반 시스템, 전이학습, 준지도학습, 자가 지도학습을 비롯해 합성 데이터 생성을 포함한 광범위한 방법을 포함한 어노테이션 품질 관리에 관한 고급 기법을 다룬다. 10장에서는 다양한 종류의 머신러닝 작업에 대해 어노테이션을 관리하는 방법을 배운다.
4부의 11장에서는 효과적인 어노테이션을 위한 인터페이스를 심층 분석하고, 12장에서 인간 참여 머신러닝 애플리케이션의 3개의 예제를 소개한다.
이 책 전반에 걸쳐 이미지와 문서 수준의 레이블링, 연속 데이터, 객체 검출, 의미 분할, 시퀀스 레이블링, 언어 생성, 정보 검색과 같은 다양한 종류의 머신러닝 작업 예제와 함께한다. 내부 표지는 책 전체에서 각 작업의 위치를 찾을 수 있는 빠른 참조를 포함하고 있다.

저자/역자 소개

지은이의 말

나는 이 책의 모든 수익을 희소 언어 데이터셋과 건강 및 재해 대응을 위한 데이터셋 구축을 위한 캠페인에 기부할 것이다. 이 책을 쓰기 시작했을 때에도 재난 대응에 대한 데이터셋은 흔치 않았으며 머신러닝 과학자이자 재난 대응자로서 직업적 측면에서만 한정적으로 관심이 있을 뿐이었다. 그러나 COVID-19으로 인해 세계의 모습은 바뀌었고, 이제는 많은 사람이 재난 대응 활용 사례가 왜 중요한지 이해하게 됐다. 이 대유행병은 특히 연관된 의료 정보에 대해 접근하는 어려움과 그릇된 정보에 의한 캠페인과 맞서 싸우는 것과 관련해, 머신러닝 능력에 대한 큰 격차가 있음을 노출했다. 검색엔진은 최신 공중 보건 정보를 제대로 드러내지 못했고 소셜 미디어 플랫폼은 널리 퍼져버린 그릇된 정보를 식별하지 못하는 와중에 우리 모두는 변화하는 데이터에 충분히 빠르게 적응하지 못하는 애플리케이션의 부정적인 면을 경험했다.
이 책은 재난 대응에만 국한되지 않았다. 여기서 공유하는 관찰 결과와 방법론은 자율주행차, 음악 추천, 온라인 커머스, 음성 지원 장치, 번역 및 광범위한 여러 실용적 사례에 적용한 나의 데이터셋 구축 경험에서 비롯된 것이다. 책을 쓰면서 새롭게 응용할 여러 분야를 알게 돼 기뻤다. 초안을 읽은 데이터 과학자들을 통해 역사적으로 머신러닝과 관련이 없는 기업에서의 활용 사례에 대해서도 알게 됐다. 트랙터에 스마트 카메라를 설치하는 농업 회사, 만화 캐릭터에 얼굴 인식을 적용하는 엔터테인먼트 회사, 탄소 발자국을 예측하는 환경 관련 회사, 패션 추천을 개인화하는 의류 회사까지 다양한 기업의 활용 사례가 그것이다. 이 회사들의 데이터 과학 연구소에서 이 책에 대한 초청 강연을 했을 때 오히려 내가 더 많은 것을 배웠다고 확신한다!
이러한 모든 사례에는 두 가지 공통점이 존재한다. 하나는 바로 데이터 과학자는 머신러닝 모델을 위해 더 좋은 훈련 데이터와 평가 데이터를 만들어야 할 필요가 있었다는 것이다. 그리고 다른 하나는 이에 비해 그런 데이터를 만드는 방법에 대해서는 거의 공개된 것이 없다는 것이다. 다양한 머신러닝의 응용에 인간과 인공지능을 결합하는 시스템에 도움이 되는 전략과 기술을 공유하게 돼 무척 기쁘다.

지은이 소개

로버트 (먼로) 모나크(Robert (Munro) Monarch)

사람과 기계의 지능을 결합하는 분야의 전문가로 현재 미국 샌프란시스코에서 살며 Apple에서 일하고 있다. 시에라리온, 아이티, Amazon(기업), 런던, 시드니를 거쳤다. 스타트업에서부터 UN에 이르기까지 다양한 조직에서 일한 경험이 있다. 이디본(Idibon)의 CEO이자 설립자였으며, 피규어 에잇(Figure Eight)의 CTO였다. AWS의 첫 자연어 처리와 기계 번역 서비스를 이끌었다.

옮긴이의 말

지난해 개최됐던 NVIDIA의 GTC 2022에서 연사로 초청됐던 앤드류 응(Andrew Ng) 박사는 지속적으로 주장해온 바와 같이 알고리듬보다 데이터가 더 중요한 시대로 접어들었다고 천명했습니다( 기사). 이는 이 책의 중심 사상을 가로지르는 철학이며, 우리가 이 책을 번역하기로 마음먹은 이유이기도 합니다.
알파고의 등장과 함께 수면 아래에 잠들어 있던 머신러닝의 잠재력을 깨달은 수많은 기업이 앞다퉈 투자하기 시작했습니다. 이제는 머신러닝과 인공지능을 업으로 삼거나 이들을 활용해 비즈니스 기회를 창출하는 기업이 늘고 있습니다. 지금까지는 알고리듬의 발전이 그 중심에 있음을 부인하기 어렵습니다. DNN, CNN에서부터 최근의 Transformer와 GAN과 같은 혁신적인 알고리듬과 아키텍처의 발전이 없었다면 지금과 같은 머신러닝의 활황기는 감히 꿈꾸기 어려웠을 것입니다.
최근에는 Google Keras와 TensorFlow, Meta(구 Facebook)의 PyTorch 등 기업 중심의 머신러닝 프레임워크와 Hugging Face와 같은 머신러닝 커뮤니티를 중심으로 이제는 누구라도 머신러닝 모델의 개발이 가능해졌습니다. 뿐만 아니라 Kaggle이나 DACON과 같은 머신러닝 경진대회 플랫폼을 통해 자신의 데이터 분석이나 모델 개발 노하우를 담은 코드와 데이터를 세상에 알리고 공유하는 것이 당연한 세상이 됐고, ChatGPT나 Stable Diffusion처럼 바로 활용할 만한 플랫폼과 서비스가 속속 출현하고 있습니다. 앤드류 응 박사가 인터뷰에서 설명한 바와 같이 머신러닝 알고리듬은 이제 상당한 수준에 올랐다고 볼 수 있습니다.
그러나 최신 알고리듬을 기업과 조직이 당면한 문제에 바로 적용하는 일은 여전히 만만치 않습니다. 그 이유 중 하나가 바로 도메인 데이터 확보 때문입니다. 많은 기업과 조직이 자신들의 머신러닝 알고리듬과 프레임워크는 당당히 공개함에도 데이터만큼은 좀처럼 세상에 공개하지 않습니다. 세상에 큰 충격을 준 Google Brain의 BERT나 Open AI의 GPT에 대한 알고리듬은 오픈돼 손쉽게 접근 가능하지만, 데이터 자체를 비롯해 데이터 수집과 정제 과정, 확보 전략은 공개하고 있지 않습니다. 이는 그야말로 자신들의 진정한 숨은 비기이자 적들의 침입을 막을 해자(중세시대에 성을 적의 침입으로부터 보호하기 위해 성 주위에 만든 못)이기 때문일 것입니다.
“시장에 알고리듬은 많지만, 쓸 만한 데이터는 귀하다”고 할 수 있겠습니다.
그렇다고 아무 데이터나 마구잡이로 가져다 쓸 수는 없습니다. Kaggle, DACON을 비롯해 국내에서도 AIHUB를 통해 기업들의 일부 데이터나 공공 데이터를 공개하고 있습니다. 그러나 실무자로서 머신러닝 모델을 개발해본 분이라면 잘 알겠지만 공개된 데이터를 활용하는 것은 한계가 따르기 마련입니다. 이 책에서도 강조하듯이 머신러닝을 적용하려는 도메인과 동떨어진 데이터는 실전에서의 성능 향상에 큰 도움이 되지 않을 것이기 때문입니다. 또한 이러한 데이터를 아무리 최신 알고리듬에 적용한다 하더라도 성능 향상에는 한계가 있을 수밖에 없습니다. 결국 머신러닝을 활용하려는 기업 입장에서는 적절한 알고리듬의 도입과 더불어 양질의 도메인 데이터 확보가 더욱 중요해진 시점이 됐습니다.
시중에 머신러닝 알고리듬을 밀도 높고 깊이 있게 소개하는 책과 강의는 이미 충분합니다. Coursera나 Udacity의 머신러닝 강의 중 대부분은 알고리듬에 대한 소개와 설명 및 실습으로 이뤄져 있으나, 양질의 학습 데이터를 확보하거나 이를 확인하는 방법에 대한 강의는 극히 일부에 불과합니다. 현업에서 느끼는 것도 크게 다르지 않습니다. 많은 사람이 머신러닝 알고리듬에 대해서 논의하지만 실무자들은 양질의 도메인 데이터를 확보하는 데 어려움을 겪고 있으며, 이에 대한 중요성을 인식하고 있습니다. 주위의 머신러닝 개발자에게 물어보면 아마 전체 개발 시간 중 80%는 데이터를 확보하고 정제하는 데 쓰고 있다고 해도 과언이 아닐 것입니다.
사실상 대부분의 기업에서 비즈니스에 활용하고 있는 머신러닝 알고리듬은 지도학습 방식으로, 이들은 양질의 데이터뿐만 아니라 어노테이션이나 레이블을 필요로 하며 이는 곧 수많은 인력과 전략이 데이터와 어노테이션을 만들어내는 데 필요하다는 의미입니다. 알고리듬과 데이터 사이의 간극을 메우기 위해서는 결국 적절한 도메인 데이터를 확보하기 위한 전략이 필요할 것입니다. 이 책은 양질의 데이터와 어노테이션을 확보하기 위한 다양한 전략과 기법을 광범위하고 깊이 있게 다루고 있습니다. 다른 머신러닝 도서와 달리 알고리듬에 대한 구체적인 소개와 설명은 포함돼 있지 않습니다. 대신 데이터를 통해 머신러닝의 성능을 향상시키기 위한 다양한 기법을 소개합니다. 효율적인 어노테이션을 위한 다양한 샘플링 기법과 프로세스를 다루고 있으며, 사용자 인터페이스의 관점과 어노테이터에 관한 심리 및 조직 관점에서 적용할 만한 다양한 아이디어와 저자의 경험을 망라하고 있습니다. 이 책의 기법과 아이디어를 단숨에 적용하기란 만만치 않겠지만, 기초적이고 단순한 전략에서부터 시작해 기업과 조직의 머신러닝 문제를 데이터 중심으로 풀어가는 데 더없이 좋은 길잡이가 되리라 생각합니다.

옮긴이 소개

김택구

초등학교 시절 아버지 손에 이끌려 방문한 삼성동 코엑스의 어느 컴퓨터 박람회에 다녀온 이후, 컴퓨터와 관련된 일에 푹 빠져 살았고 이를 업으로 삼는 것을 꿈꿔왔다. 그리고, 여전히 지금도 그 영역 안에서 살아가고 있다.
대학교와 대학원에서 소프트웨어를 공부한 후 LG전자와 삼성전자에서는 임베디드 소프트웨어를 개발했다. 이후에는 에스코어로 이직, 타이젠 SDK와 기업용 클라우드 서비스를 개발했다. 알파고 충격 이후 머신러닝과 딥러닝 붐에 뛰어들어 KPMG와 와디즈에서 다양한 기업용 자연어 처리 및 머신러닝 서비스 개발에 참여했다. 최근에는 유트랜스퍼 서비스를 개발/운영하는 개발 담당 이사로서 여전히 개발과 관련된 활동을 왕성하게 이어가고 있다.

제갈호준

소프트웨어 아키텍트와 개발자 그리고 개발 매니저로서 다양한 모바일 소프트웨어 서비스와 인텔리전스 서비스를 개발했다.
어렵지만 필요한 문제를 항상 능동적으로 찾아 해결하려 하며, 사용자의 만족을 향상시키기 위해 새로운 기술을 적용하거나 새로운 서비스를 기획해 출시하고 성공시키기 위한 기술을 리딩하는 데 관심이 있다.

목차

목차
  • 1부. 첫걸음
  • 1장. 인간 참여 머신러닝 소개
  • 1.1 인간 참여 머신러닝의 기본 원리
  • 1.2 어노테이션에 대한 소개
  • 1.2.1 간단한 어노테이션과 복잡한 어노테이션 전략
  • 1.2.2 데이터 과학 지식의 간극 메우기
  • 1.2.3 왜 수작업 어노테이션의 품질 확보가 어려울까?
  • 1.3 학습 데이터 생성을 위해 속도는 향상시키고 비용은 줄이는 능동학습 소개
  • 1.3.1 세 가지 일반적인 능동학습 샘플링 전략: 불확실성, 다양성, 임의성
  • 1.3.2 평가 데이터의 랜덤 선택은 무얼 말하는 것일까?
  • 1.3.3 언제 능동학습을 사용해야 할까
  • 1.4 머신러닝과 인간 - 컴퓨터 상호작용
  • 1.4.1 사용자 인터페이스: 어떻게 학습 데이터를 생성할까?
  • 1.4.2 프라이밍: 무엇이 사람의 인지에 영향을 줄까?
  • 1.4.3 머신러닝 예측값을 평가하면서 레이블을 생성하는 방법의 장단점
  • 1.4.4 어노테이션을 위한 인터페이스 설계의 기본 원리
  • 1.5 머신러닝의 보조를 받는 사람 vs 사람의 보조를 받는 머신러닝
  • 1.6 전이학습으로 모델 시작하기
  • 1.6.1 컴퓨터 비전 분야의 전이학습
  • 1.6.2 자연어 처리 분야에서의 전이학습
  • 1.7 이 책에서 배울 수 있는 것들
  • 요약

  • 2장. 인간 참여 머신러닝 시작하기
  • 2.1 임시적인 방법(핵티브 학습)을 넘어서: 여러분의 첫 번째 능동학습 알고리듬
  • 2.2 첫 번째 시스템의 아키텍처
  • 2.3 능동학습을 위한 모델 예측값과 데이터 해석
  • 2.3.1 신뢰도 순위
  • 2.3.2 아웃라이어 찾아내기
  • 2.3.3 이터레이션을 통해 기대하는 것들
  • 2.4 수작업 레이블링을 위한 사용자 인터페이스 만들기
  • 2.4.1 텍스트 레이블링을 위한 간단한 인터페이스
  • 2.4.2 머신러닝 데이터 관리하기
  • 2.5 첫 번째 인간 참여 머신러닝 시스템 배포하기
  • 2.5.1 항상 평가 데이터를 먼저 선택하라
  • 2.5.2 모든 데이터 포인트가 기회를 가진다
  • 2.5.3 데이터에 따라 알맞은 전략 선택하기
  • 2.5.4 모델을 재학습시키고 반복하기
  • 요약

  • 2부. 능동학습
  • 3장. 불확실성 샘플링
  • 3.1 머신러닝 모델의 불확실성에 대한 해석
  • 3.1.1 왜 모델의 불확실성을 봐야 할까?
  • 3.1.2 소프트맥스와 확률분포
  • 3.1.3 능동학습의 성공 해석
  • 3.2 불확실성 샘플링 알고리듬
  • 3.2.1 최소 신뢰도 샘플링
  • 3.2.2 신뢰도 마진 샘플링
  • 3.2.3 비율 샘플링
  • 3.2.4 엔트로피(분류 엔트로피)
  • 3.2.5 엔트로피 심층 분석
  • 3.3 여러 종류의 모델이 혼동되는 경우의 식별
  • 3.3.1 로지스틱 회귀 및 MaxEnt 모델을 사용한 불확실성 샘플링
  • 3.3.2 SVM을 사용한 불확실성 샘플링
  • 3.3.3 베이지안 모델을 사용한 불확실성 샘플링
  • 3.3.4 의사 결정 트리와 랜덤 포레스트를 사용한 불확실성 샘플링
  • 3.4 여러 예측에 대한 불확실성 측정
  • 3.4.1 앙상블 모델을 사용한 불확실성 샘플링
  • 3.4.2 위원회 질의와 드롭아웃
  • 3.4.3 우발적 불확실성과 인식적 불확실성의 차이
  • 3.4.4 다중 레이블 및 연속 값 분류
  • 3.5 수작업 검토를 위한 적절한 항목 수 선택
  • 3.5.1 제한된 예산에서의 불확실성 샘플링
  • 3.5.2 제한된 시간에서의 불확실성 샘플링
  • 3.5.3 시간이나 예산이 제한되지 않은 경우 언제 중지할까?
  • 3.6 능동학습의 성공 여부 평가
  • 3.6.1 새로운 테스트 데이터가 필요할까?
  • 3.6.2 새로운 검증 데이터가 필요할까?
  • 3.7 불확실성 샘플링 치트시트
  • 3.8 더 읽을 거리
  • 3.8.1 최소 신뢰도 샘플링에 대한 더 읽을 거리
  • 3.8.2 신뢰도 마진 샘플링에 대한 더 읽을 거리
  • 3.8.3 신뢰도 비율 샘플링에 대한 더 읽을 거리
  • 3.8.4 엔트로피 기반 샘플링을 위한 더 읽을 거리
  • 3.8.5 다른 머신러닝 모델에 대한 더 읽을 거리
  • 3.8.6 앙상블 기반의 불확실성 샘플링을 위한 더 읽을 거리
  • 요약

  • 4장. 다양성 샘플링
  • 4.1 무엇을 모르는지 알아내기: 모델의 지식 속 틈을 찾아내기
  • 4.1.1 다양성 샘플링을 위한 예제 데이터
  • 4.1.2 다양성 샘플링을 위해 신경망 모델 해석하기
  • 4.1.3 PyTorch의 은닉층에서 정보 추출하기
  • 4.2 모델 기반의 아웃라이어 샘플링
  • 4.2.1 활성화 값을 순위화하기 위해 검증 데이터 사용하기
  • 4.2.2 모델 기반의 아웃라이어를 계산하려면 어느 층을 사용해야 할까?
  • 4.2.3 모델 기반 아웃라이어의 한계
  • 4.3 클러스터 기반의 샘플링
  • 4.3.1 클러스터의 구성원, 중심체, 아웃라이어
  • 4.3.2 우주 속의 클러스터링 알고리듬
  • 4.3.3 코사인 유사도로 k-평균 클러스터링하기
  • 4.3.4 임베딩 또는 PCA로 특성 차원 줄이기
  • 4.3.5 그밖의 클러스터링 알고리듬
  • 4.4 대표 샘플링
  • 4.4.1 대표 샘플링은 단독으로는 거의 사용되지 않는다
  • 4.4.2 단순 대표 샘플링
  • 4.4.3 적응형 대표 샘플링
  • 4.5 실세계 다양성을 위한 샘플링
  • 4.5.1 학습 데이터 다양성의 공통적인 문제
  • 4.5.2 인구통계학적 다양성 확보를 위한 계층화 샘플링
  • 4.5.3 표현된 것과 대표된 것 중 어느 것이 중요한가?
  • 4.5.4 인구통계당 정확도
  • 4.5.5 실세계 다양성을 위한 샘플링의 제약들
  • 4.6 다양한 유형의 모델로 다양성 샘플링하기
  • 4.6.1 다양한 유형의 모델로 모델 기반의 아웃라이어 찾기
  • 4.6.2 다양한 유형의 모델로 클러스터링하기
  • 4.6.3 다른 종류의 모델로 대표 샘플링하기
  • 4.6.4 다른 종류의 모델로 실세계 다양성 샘플링하기
  • 4.7 다양성 샘플링에 대한 치트시트
  • 4.8 더 읽을 거리
  • 4.8.1 모델 기반 아웃라이어에 대한 더 읽을 거리
  • 4.8.2 클러스터 기반 샘플링에 대한 더 읽을 거리
  • 4.8.3 대표 샘플링에 대한 더 읽을 거리
  • 4.8.4 실세계 다양성 샘플링에 대한 더 읽을 거리
  • 요약

  • 5장. 고급 능동학습
  • 5.1 불확실성 샘플링과 다양성 샘플링 기술의 결합
  • 5.1.1 클러스터 기반 샘플링을 적용한 최소 신뢰도 샘플링
  • 5.1.2 모델 기반 아웃라이어를 이용한 불확실성 샘플링
  • 5.1.3 모델 기반 아웃라이어와 클러스터링을 사용한 불확실성 샘플링
  • 5.1.4 대표 샘플링과 클러스터 기반 샘플링
  • 5.1.5 최상위 엔트로피 클러스터로부터의 샘플링
  • 5.1.6 능동학습 전략의 다른 조합들
  • 5.1.7 능동학습 점수의 결합
  • 5.1.8 예상 오류 감소 샘플링
  • 5.2 불확실성 샘플링을 위한 능동 전이학습
  • 5.2.1 모델 자체의 오류를 예측하는 모델 만들기
  • 5.2.2 능동 전이학습의 구현
  • 5.2.3 더 많은 층의 능동 전이학습
  • 5.2.4 능동 전이학습의 장단점
  • 5.3 대표 샘플링에 능동 전이학습 적용하기
  • 5.3.1 알지 못하는 것이 무엇인지 예측하도록 모델 만들기
  • 5.3.2 적응형 대표 샘플링을 위한 능동 전이학습
  • 5.3.3 대표 샘플링을 위한 능동 전이학습의 장단점
  • 5.4 적응형 샘플링을 위한 능동 전이학습
  • 5.4.1 불확실성 예측을 통해 불확실성 샘플링을 적응형으로 만들기
  • 5.4.2 ATLAS의 장단점
  • 5.5 능동학습용 고급 치트시트
  • 5.6 능동 전이학습을 위한 더 읽을 거리
  • 요약

  • 6장. 여러 머신러닝 작업에 능동학습 적용하기
  • 6.1 객체 검출에 능동학습 적용하기
  • 6.1.1 객체 검출에 대한 정확도: 레이블 신뢰도와 위치 지정
  • 6.1.2 객체 검출에서 레이블 신뢰도와 위치 지정을 위한 불확실성 샘플링하기
  • 6.1.3 객체 검출에서 레이블 신뢰도와 위치 지정을 위한 다양성 샘플링하기
  • 6.1.4 객체 검출을 위한 능동 전이학습
  • 6.1.5 지속적인 편향을 위해 낮은 객체 검출 임계치 설정하기
  • 6.1.6 예측값과 유사한 대표 추출 샘플링을 위한 학습 데이터 샘플 생성하기
  • 6.1.7 객체 검출에서 다양성을 위한 이미지 수준의 샘플링하기
  • 6.1.8 다각형을 사용해 더 타이트한 마스킹 고려하기
  • 6.2 의미 분할에 능동학습 적용하기
  • 6.2.1 의미 분할의 정확도
  • 6.2.2 의미 분할을 위한 불확실성 샘플링
  • 6.2.3 의미 분할을 위한 다양성 샘플링
  • 6.2.4 의미 분할을 위한 능동 전이학습
  • 6.2.5 의미 분할에서 이미지 수준의 다양성 샘플링
  • 6.3 시퀀스 레이블링에 능동학습 적용하기
  • 6.3.1 시퀀스 레이블링에 대한 정확도
  • 6.3.2 시퀀스 레이블링을 위한 불확실성 샘플링
  • 6.3.3 시퀀스 레이블링을 위한 다양성 샘플링
  • 6.3.4 시퀀스 레이블링을 위한 능동 전이학습
  • 6.3.5 신뢰도와 토큰에 의한 계층화 샘플링
  • 6.3.6 예측과 유사한 대표 샘플링을 위해 학습 데이터 샘플 생성하기
  • 6.3.7 완전 시퀀스 레이블링
  • 6.3.8 시퀀스 레이블링에서 문서 수준의 다양성을 위한 샘플링
  • 6.4 자연어 생성에 능동학습 적용하기
  • 6.4.1 자연어 생성 시스템에 대한 정확도 계산하기
  • 6.4.2 자연어 생성에 대한 불확실성 샘플링하기
  • 6.4.3 언어 생성을 위한 다양성 샘플링하기
  • 6.4.4 언어 생성을 위한 능동 전이학습
  • 6.5 다른 유형의 머신러닝 작업에 능동학습 적용하기
  • 6.5.1 정보 검색을 위한 능동학습
  • 6.5.2 동영상을 위한 능동학습
  • 6.5.3 음성을 위한 능동학습
  • 6.6 수작업 리뷰를 위한 적절한 항목 수 고르기
  • 6.6.1 완전히 또는 부분적으로 레이블링된 데이터에 대해 능동 레이블링하기
  • 6.6.2 어노테이션과 머신러닝을 결합하기
  • 6.7 더 읽을 거리
  • 요약

  • 3부. 어노테이션
  • 7장. 데이터 어노테이터와 일하기
  • 7.1 어노테이션에 대한 소개
  • 7.1.1 좋은 데이터 어노테이션의 세 가지 원리
  • 7.1.2 데이터 어노테이션과 모델 예측 검토
  • 7.1.3 머신러닝의 보조를 받은 사람의 어노테이션
  • 7.2 사내 전문가
  • 7.2.1 내부 인력의 급여
  • 7.2.2 사내 인력의 고용 안정성
  • 7.2.3 사내 인력의 주인 의식
  • 7.2.4 팁: 사내 어노테이션 세션을 항상 진행하기
  • 7.3 외주 인력
  • 7.3.1 외주 인력을 위한 급여
  • 7.3.2 외주 인력의 고용 안정
  • 7.3.3 외주 인력의 주인 의식
  • 7.3.4 외주 직원과 소통하는 팁
  • 7.4 크라우드소싱 작업자
  • 7.4.1 크라우드소싱 인력의 급여
  • 7.4.2 크라우드소싱 작업자의 고용 안정성
  • 7.4.3 크라우드소싱 작업자의 주인 의식
  • 7.4.4 팁: 고용 안정과 경력 발전을 위한 경로 조성
  • 7.5 다른 유형의 인력
  • 7.5.1 최종 사용자
  • 7.5.2 자원봉사자
  • 7.5.3 게이머
  • 7.5.4 모델의 예측값을 어노테이션으로 활용
  • 7.6 어노테이션 양 추정하기
  • 7.6.1 필요 어노테이션 양에 대한 자릿수 공식
  • 7.6.2 1~4주 정도의 어노테이션 교육과 작업 정제 예상하기
  • 7.6.3 비용 추정을 위해 파일럿 어노테이션과 정확도 목표 사용하기
  • 7.6.4 여러 인력 유형의 결합
  • 요약

  • 8장. 데이터 어노테이션에 대한 품질 관리
  • 8.1 준거 정답과 어노테이션의 비교
  • 8.1.1 준거 데이터에 대한 어노테이터 일치도
  • 8.1.2 예상 정확도를 위해 어떤 기준선을 사용해야 하는가?
  • 8.2 어노테이터 간 일치도
  • 8.2.1 어노테이터 간 일치도에 대한 소개
  • 8.2.2 어노테이터 간 일치도 계산의 이점
  • 8.2.3 크리펜도르프 알파와 데이터셋 레벨 일치도
  • 8.2.4 레이블 외의 크리펜도르프 알파 계산
  • 8.2.5 개별 어노테이터 일치도
  • 8.2.6 레이블당 일치도 및 인구통계학적 일치도
  • 8.2.7 실세계 다양성을 위해 확장된 정확도를 일치도로 사용하기
  • 8.3 학습 데이터를 생성하기 위한 여러 어노테이션의 취합
  • 8.3.1 모든 사람의 결과가 일치하는 어노테이션의 집계
  • 8.3.2 다양한 어노테이션과 낮은 일치도에 대한 수학적 사례
  • 8.3.3 어노테이터가 불일치하는 경우의 어노테이션 집계
  • 8.3.4 어노테이터가 보고한 신뢰도
  • 8.3.5 어떤 레이블을 신뢰할지 결정하기: 어노테이션의 불확실성
  • 8.4 전문가 검토에 의한 품질 관리
  • 8.4.1 적합한 인력 모집 및 교육
  • 8.4.2 전문가 양성
  • 8.4.3 머신러닝이 보조하는 전문가
  • 8.5 다단계 워크플로우와 검토 작업
  • 8.6 더 읽을 거리
  • 요약

  • 9장. 고급 데이터 어노테이션과 증강 기법
  • 9.1 주관적 작업에 대한 어노테이션 품질
  • 9.1.1 어노테이터 기대치 요청하기
  • 9.1.2 주관적 작업에 대해 유효 레이블 평가하기
  • 9.1.3 다양한 반응을 이해하는 어노테이터 신뢰하기
  • 9.1.4 주관적 판단을 위한 베이지안 진실 자백제
  • 9.1.5 간단한 작업을 더 복잡한 작업에 포함시키기
  • 9.2 어노테이션 품질 관리를 위한 머신러닝
  • 9.2.1 최적화 작업으로 어노테이션 신뢰도를 계산하기
  • 9.2.2 어노테이터들이 일치하지 않을 때 레이블 신뢰도 수렴하기
  • 9.2.3 단일 어노테이션이 옳은지 예측하기
  • 9.2.4 단일 어노테이션의 일치 여부 예측하기
  • 9.2.5 어노테이터가 봇인지 예측하기
  • 9.3 어노테이션 예측 모델
  • 9.3.1 높은 신뢰도의 모델 예측에 의한 어노테이션 신뢰하기
  • 9.3.2 모델 예측을 1명의 어노테이터처럼 다루기
  • 9.3.3 잘못 레이블링된 데이터를 찾기 위해 교차 검증하기
  • 9.4 임베딩과 맥락 표현
  • 9.4.1 기존 모델에서 전이학습 적용하기
  • 9.4.2 어노테이션하기 쉬운 유사 작업의 표현 활용하기
  • 9.4.3 자가 지도학습: 데이터 고유의 레이블 사용하기
  • 9.5 검색 기반 및 규칙 기반 시스템
  • 9.5.1 규칙을 사용해 데이터 필터링하기
  • 9.5.2 학습 데이터 검색
  • 9.5.3 마스킹으로 특징 필터링
  • 9.6 비지도학습 모델에 기반한 가벼운 지도학습
  • 9.6.1 비지도학습 모델을 지도학습 모델에 적응시키기
  • 9.6.2 사람이 안내하는 탐색 데이터 분석
  • 9.7 합성 데이터, 데이터 생성 그리고 데이터 증강
  • 9.7.1 합성 데이터
  • 9.7.2 데이터 생성
  • 9.7.3 데이터 증강
  • 9.8 어노테이션 정보를 머신러닝 모델에 통합하기
  • 9.8.1 레이블에 대한 신뢰도에 따라 항목을 필터링하거나 가중치 부여하기
  • 9.8.2 입력에 어노테이터 ID 포함하기
  • 9.8.3 불확실성을 손실 함수에 통합하기
  • 9.9 고급 어노테이션을 위한 더 읽을 거리
  • 9.9.1 주관적 데이터에 대한 더 읽을 거리
  • 9.9.2 어노테이션 품질 관리 머신러닝에 대한 더 읽을 거리
  • 9.9.3 임베딩 또는 문맥 표현에 대한 추가 읽을 거리
  • 9.9.4 규칙 기반 시스템에 대한 더 읽을 거리
  • 9.9.5 어노테이션의 불확실성을 다운스트림 모델에 통합하기 위한 더 읽을 거리
  • 요약

  • 10장. 여러 가지 머신러닝 작업을 위한 어노테이션 품질 관리
  • 10.1 연속값 작업을 위한 어노테이션 품질
  • 10.1.1 연속값 작업을 위한 준거 데이터
  • 10.1.2 연속값 작업에 대한 일치도
  • 10.1.3 연속값 작업의 주관성
  • 10.1.4 학습 데이터를 생성하기 위해 연속적 판단 집계하기
  • 10.1.5 연속값 데이터를 집계해 학습 데이터를 만들기 위한 머신러닝
  • 10.2 객체 검출에서의 어노테이션 품질
  • 10.2.1 객체 검출을 위한 준거 데이터
  • 10.2.2 객체 검출을 위한 일치도
  • 10.2.3 객체 검출에서 차원 수와 정확도
  • 10.2.4 객체 검출에 대한 주관성
  • 10.2.5 학습 데이터 생성을 위해 객체 어노테이션 집계하기
  • 10.2.6 객체 어노테이션을 위한 머신러닝
  • 10.3 의미 분할을 위한 어노테이션 품질
  • 10.3.1 의미 분할 어노테이션을 위한 준거 데이터
  • 10.3.2 의미 분할에서 일치도
  • 10.3.3 의미 분할 어노테이션의 주관성
  • 10.3.4 학습 데이터를 생성하기 위한 의미 분할 집계하기
  • 10.3.5 학습 데이터 생성을 위한 의미 분할 작업 집계에 머신러닝 적용하기
  • 10.4 시퀀스 레이블링을 위한 어노테이션 품질
  • 10.4.1 시퀀스 레이블링을 위한 준거 데이터
  • 10.4.2 연속 데이터의 시퀀스 레이블링을 위한 준거 데이터
  • 10.4.3 시퀀스 레이블링에 대한 일치도
  • 10.4.4 시퀀스 레이블링을 위한 머신러닝과 전이학습
  • 10.4.5 시퀀스 레이블링을 위한 규칙 기반, 검색 기반 및 합성 데이터
  • 10.5 언어 생성을 위한 어노테이션 품질
  • 10.5.1 언어 생성을 위한 준거 데이터
  • 10.5.2 언어 생성에서의 어노테이터의 일치도와 집계
  • 10.5.3 자연어 생성을 위한 머신러닝과 전이학습
  • 10.5.4 자연어 생성을 위한 합성 데이터
  • 10.6 다른 종류의 머신러닝 작업을 위한 어노테이션 품질
  • 10.6.1 정보 검색을 위한 어노테이션
  • 10.6.2 다중 필드 작업을 위한 어노테이션
  • 10.6.3 비디오를 위한 어노테이션
  • 10.6.4 오디오 데이터를 위한 어노테이션
  • 10.7 다양한 머신러닝 작업을 위한 어노테이션 품질에 대한 더 읽을 거리
  • 10.7.1 컴퓨터 비전 분야에 대해 더 읽을 거리
  • 10.7.2 자연어 처리 어노테이션을 위한 더 읽을 거리
  • 10.7.3 정보 검색에 대한 어노테이션 관련 더 읽을 거리
  • 요약

  • 4부. 머신러닝을 위한 인간 - 컴퓨터 상호작용
  • 11장. 데이터 어노테이션을 위한 인터페이스
  • 11.1 인간 - 컴퓨터 상호작용의 기본 원리
  • 11.1.1 행동유도성, 피드백과 주체성
  • 11.1.2 어노테이션을 위한 인터페이스 설계
  • 11.1.3 안구 움직임과 스크롤링 최소화하기
  • 11.1.4 단축키와 입력 기기
  • 11.2 설계 규칙 깨기
  • 11.2.1 일괄 어노테이션을 위한 스크롤
  • 11.2.2 페달
  • 11.2.3 오디오 입력
  • 11.3 어노테이션 인터페이스 내의 프라이밍
  • 11.3.1 반복적 프라이밍
  • 11.3.2 프라이밍이 도움이 안 되는 상황
  • 11.3.3 프라이밍이 도움이 되는 상황
  • 11.4 사람과 인공지능 결합하기
  • 11.4.1 어노테이터와 피드백
  • 11.4.2 다른 사람이 어노테이션하려는 내용을 확인해 객관성 극대화하기
  • 11.4.3 연속값 문제를 순위 문제로 재변환하기
  • 11.5 인간의 능력을 극대화하는 스마트 인터페이스
  • 11.5.1 의미 분할을 위한 스마트 인터페이스
  • 11.5.2 객체 검출을 위한 스마트 인터페이스
  • 11.5.3 자연어 생성을 위한 스마트 인터페이스
  • 11.5.4 시퀀스 레이블링을 위한 스마트 인터페이스
  • 11.6 수작업 프로세스를 보조하는 머신러닝
  • 11.6.1 효율성 향상에 대한 인식
  • 11.6.2 효율성 증가를 위한 능동학습
  • 11.6.3 완전성을 극대화하기 위한 부재보다 오류가 나을 수도 있다
  • 11.6.4 어노테이션 인터페이스를 일상 업무 인터페이스와 구분하기
  • 11.7 더 읽을 거리
  • 요약

  • 12장. 인간 참여 머신러닝 제품
  • 12.1 인간 참여 머신러닝 애플리케이션 제품 정의하기
  • 12.1.1 직면한 문제부터 시작하라
  • 12.1.2 문제 해결을 위한 시스템 설계
  • 12.1.3 Python과 HTML의 연결
  • 12.2 예제 1: 뉴스 헤드라인을 위한 탐색적 데이터 분석
  • 12.2.1 몇 가지 가정
  • 12.2.2 설계와 구현
  • 12.2.3 확장 가능성
  • 12.3 예제 2: 식품 안전 사건에 대한 데이터 수집하기
  • 12.3.1 가정
  • 12.3.2 설계와 구현
  • 12.3.3 확장 가능성
  • 12.4 예제 3: 이미지에서 자전거 식별하기
  • 12.4.1 가정
  • 12.4.2 설계와 구현
  • 12.4.3 확장 가능성
  • 12.5 인간 참여 머신러닝 제품 구축을 위한 더 읽을 거리
  • 요약

  • 부록 A. 머신러닝 기초 복습하기
  • A.1 모델의 예측값 해석하기
  • A.1.1 확률분포
  • A.2 소프트맥스 파고들기
  • A.2.1 소프트맥스로 모델의 출력값을 신뢰도로 변환하기
  • A.2.2 소프트맥스 기저 또는 온도 선택
  • A.2.3 지수 나누기의 결과
  • A.3 인간 참여 머신러닝 시스템 평가하기
  • A.3.1 정밀도, 재현율, F-점수
  • A.3.2 마이크로/매크로 정밀도, 재현율, F-점수
  • A.3.3 무작위 기회를 고려하기: 기회 보정 정확도
  • A.3.4 신뢰도를 고려하기: ROC 곡선의 면적
  • A.3.5 발견된 모델 오류 수
  • A.3.6 인건비 줄이기
  • A.3.7 이 책에서 다루는 그 외의 정확도 계산 방법

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안