|
파이토치 입문 이후에 볼만한 책을 찾던 중, 이 책을 접했습니다. 자연어 처리와 컴퓨터비전 분야의 기초 실습부터 배포까지 딥러닝 프로젝트(서비스)를 구축하기 위한 다양한 정보를 다뤄서 입문이후 단계로 적합했습니다. 이론뿐만 아니라, 실습을 통해 좀 더 쉽게 접근하실 수 있습니다.
|
| 어려운 내용인데 싑기 알려주려고 노력하신 거 같아요 읽는데 정말 정말 오래 걸렸지만 뿌듯합니다 학교에서 교재로 사용 중입니다 공부하는 데 큰 도움이 될 것 같아요 더 심화 내용을 다룬 책도 궁금합니다 추천합니다 잘 쓰고 있어요!!!!!! ㅎㅎ |
|
처음 입문하는 초심자가 이해하기에 알맞은 도서입니다. 책의 가독성이 좋으며, 나이 불문 이해하기 쉽게 맞춰져있고 그와 동시에 깊은 내용을 제공하는 좋은 도서입니다. 또한 실전 예제가 많이 있으니, 실제 모델을 구축해보고자 하는 사람들에게 알맞아 보입니다. |
|
훌륭한 기술, 잘 읽고 공부했습니다. 방향잡기에 도움이 많이 될 것 같습니다. 어떻게 시작해야할지 막막하고 주변에 도움받을 수 있는 멘토링도 없었는데 쉽게 이해가 됐습니다. 창업을 준비하고 있는 예비창업가로서 기술 또한 중요함을 배웠습니다. |
|
모델의 기초개념, 모델 생성부터 배포까지 한 책에 상세하게 담아 인공지능 종사자 뿐 아니라 입문자까지 쉽게 읽고 따라 할 수 있는 책입니다. 현재 가장 핵심적으로 많이 쓰이고있는 트랜스포머 기술을 자연어 처리와 컴퓨터 비전에 적용한 책이기에 해당 분야에 트랜스포머 모델과 자연어 처리 컴퓨터 비전에대한 깊은 학습을 할 수 있습니다. 또한 책의 예제코드를 통한 실습과 응용을 통해 나만의 모델을 만드는데 유용한 책입니다. |
|
|
|
1장에서는 인공지능의 정의, 역사, 종류 / 머신러닝 파이프라인 그중에서도 중요한 프로세스인 데이터 파이프라인에 대해 소개합니다. 또한 최신 유행하는 devOps에 이은 MLOPs 무엇인지 개념을 소개합니다. 2장에서는 AI, 전자, 전산 학부생이라면 기초 논문이나 관련 프로젝트를 하게 되면 필수적으로 알게되는 파이토치 라이브러리를 소개합니다. 파이토치의 장점, 설치방법 들을 소개합니다. 다만 설치방법의 경우에는 다른책보다 다소 간소화되어 있습니다. 3장에서는 파이토치 사용에서 가장 실수가 많고 익숙해져야 하는 Tensor를 다루는 방법에 대해 소개합니다. 파이토치를 사용하면서 차원 불일치 문제 때문에 에러가 많이 뜨는데, 이 책을 통해 numpy 배열, tensor 사용법을 쉽게 익힐 수 있습니다. 또한 통계적 가설, 손실함수의 개념, 가중치 update 하는 알고리즘, 학습률, 최적의 가중치를 찾는 문제, 데이터 세트를 만들고 배치 사이즈에 맞게 로더만들기 순으로 소개됩니다. 사실 데이터 세트를 만드는 과정이 통계적 가설보다 전에 있으면 좋을 것 같습니다. 또한 모델을 클래스로 깔끔하게 구현하는 방법과 모델을 평가하고 저장 및 불러오기가 소개됩니다. 중간에 데이터 세트 분리하기 코드가 있는데 아마 모델을 평가하는 파트에 속해서 넣은 것 같습니다. 활성화함수, forward, backpropagation 파트를 개인적으로 가중치 update 하는 알고리즘 직후에 배치하는 것이 좀 더 낫지 않았을까라는 생각이 듭니다. 3장의 마지막으로는 퍼셉트론 구조가 소개됩니다. 퍼셉트론은 가장 기초적인 뉴런 구조를 모사한것으로 xor문제가 예시로써 나와 있습니다. 4장에서는 머신러닝 모델에서 발생하게 되는 문제를 정의하고 해결하는 방안을 제시합니다. 과대, 과소 적합 문제와 배치 정규화의 여러방법을 통해 각 계층의 Gradient의 너무 심하거나 vanishing되어 update 되지 않는 방안들 소개합니다. 이들 중 몇개는 Pytorch 코드로 함께 소개합니다. 또한 초기 가중치 설정 초기화 문제도 다루는데 다양한 초기화 방법을 파이토치 코드와 함께 제시합니다. 또한 weight가 너무 크게 학습되지 않는 과적합 문제가 발생하지 않도록 regularization 문제의 해결방안도 제시합니다. 그리고 gradient에 limit을 추가하고 랜덤하게 network의 구조가 학습될 수 있는 dropout, data augmentation까지 학습 모델을 개선하는 전반적인 파이토치 코드와 함께 제시합니다. 또한 전이학습의 종류와 개념들을 소개하지만 아쉬운 점은 해당파트 코드가 없어 아쉽습니다. Freezing layer와 Trainable layer를 분리 시키는 코드를 제시하면 좋을 것 같습니다. 5장부터는 7장까지는 자연어 처리(NLP)에 관한 내용입니다. 5장에서는 토근화에 대한 여러가지 방법, 토큰화 알고리즘 토크나이저 모델 학습방법을 소개합니다. 6장에서는 문장들을 토큰화시킨 것을 텍스트를 숫자로 변환하는 텍스트 벡터화, 더 나아가 잘 벡터화 시키는 임베딩에 대한 개념을 소개합니다. 여러 언어모델과 임베딩 모델을 소개합니다. 그 중 SKIPGRAM, GENSIM 모델의 예제를 코드로 학습할 수 있습니다. 추가적으로 RNN이나 LSTM, CNN Transformer 이전에 유행했던 모델들을 소개합니다. 개인적으로 CNN은 3절에 들어가는게 맞지 않을까 생각합니다. Adam의 알고리즘을 조금더 이전 optimizer와 비교해서 설명했으면 더욱 좋을 것 같습니다. 7장은 Transformer의 모델에서 중요한 구조인 Positional Encoding을 코드로 자세히 설명하고 있고 masking, attention score 계산법을 소개합니다. 트랜스포머 모델의 전체적인 구조와 학습방법을 후에 설명합니다. 이를 기반으로 한 GPT의 개념 구조를 설명하여 우리가 지금 사용하고 있는 GPT의 원리를 알 수 있는 것도 신기한 점입니다. 8장부터 10장까지는 컴퓨터 비전에 대한 내용을 소개합니다. 8장의 경우에는 classification model을 시간흐름대로 소개하고 아쉽게도 구조구조 하나를 코드로 설명하진 않고 torchvision에서 제공하는 모델을 그대로 이용합니다. AlexNet부터 ResNet까지, 추가적으로 xAI 기술을 소개하는데 딥러닝 모델의 내부 동작 원리를 시각화하는 방법입니다. 9장에서는 Object Detection을 소개하며 R-CNN부터 SSD, Yolo 구조를 소개합니다. 구조에 대한 자세한 코딩은 진행되지 않고 ultralytics의 라이브러리를 사용합니다. 10장에서는 ViT 를 소개하는데 원래 내용이 어려운지라 일부 중요한 알고리즘은 시각화하여 소개합니다. 11장에서는 모델 배포를 다루며 어떻게 텐서와 가중치를 어떤 bit만큼 표현하여 모델 크기를 경량화하는 방법, 중요도가 낮은 weight unit을 가지치기 코드, 양자화를 다루고 있습니다. 현업에서 접하게 어려웠던 개념인 Knowledge Distillation을 시각화하여 소개하고 있으며 다양한 분해방법을 소개합니다. 그리고 오픈소스 플랫폼인 onnx 확장자를 소개하여 학습 가중치의 모델을 onnx로 변환하는 방법 불러오는 방법을 코드로 설명합니다. 모델 서빙이라는 유저에게 ai 서비스를 제공하는 기업에서 중요할만한 내용을 포함합니다. 모델을 사용하기 위해 학습과 평가뿐만 아니라 배포 단계를 중점적으로 설명한 것이 흥미롭습니다. 도커에 대한 간단한 개념 및 빌드 및 배포할 때 사용되는 명령어 셋을 알려줍니다.
끝으론 부록에서는 파이토치 라이트닝이라는 더 고수준의 라이브러리(더 쉬운) 사용법을 알려줍니다. 그리고 최근 정말 많이 사용하는 Hugging Face 커뮤니티를 소개하고 transformers 라이브러리 사용법을 코드로 제공합니다.
|