Six Useful Resources for Engineers
This collection of resources will be useful to many AI professionals with different levels of experience. Save to bookmarks and study in your free time.
Join the DZone community and get the full member experience.Join For Free
Hi. I'm Alex Goncharik, and I've been working on Computer Vision and Deep Learning for more than five years now. Initially, I worked as a .Net Developer, but at some point, I came across an article about machine learning and became very interested in the area.
I had a background in mathematics and Python, so I actively began to educate myself. At first, I watched video courses and read articles, then I started solving simple problems, and later, it became possible to switch to a project related to the use of computer vision technology.
Two years ago, I joined the team behind iScanner, an AI-powered app for scanning and editing documents where we have the possibility to develop AI algorithms from scratch. For example, we implemented our own algorithms for getting rid of curves and skews and deleting fingers in scanned documents.
I currently hold the position of Lead Computer Vision and Deep Learning Engineer at iScanner, BP Mobile (AIBY Group). My colleagues and I often discuss news related to our field and exchange articles and links. When you embark on your path as a professional, it can be difficult to find useful resources, so that’s why I've decided to share my recommendations with DZone readers. Some resources will be of interest to beginners, while others will interest more experienced professionals.
MIT Deep Learning Book (Ian Goodfellow, Yoshua Bengio, Aaron Courville)
This is the most comprehensive book available on deep learning and is available as a free HTML book. This text serves as an essential guide for anyone seeking to understand the intricacies of deep learning, from its fundamental concepts to its advanced applications. It covers a broad spectrum of topics, offers both theoretical and practical insights, and is accessible to learners of varying backgrounds. The authors don't just skim the surface of deep learning; they delve deep into the mathematical underpinnings that define neural networks, optimization algorithms, and regularization techniques.
Grokking Deep Learning (Andrew W. Trask)
This book stands out for its ability to bridge the gap between theoretical concepts and practical understanding, making it an ideal starting point for beginners in the field. The author skillfully breaks down complex ideas into digestible pieces, ensuring that even those without a strong technical background can follow along.
Trask uses Python code examples and focuses on intuitive explanations that foster a deeper comprehension of the material. The code examples are relatively simple and might not cover the full breadth of advanced deep-learning techniques.
Computer Vision: Algorithms and Applications (Richard Szeliski)
This book is the gold standard in the domain of computer vision. Through case studies and practical scenarios, you gain insight into how computer vision is employed in fields like robotics, medical imaging, and augmented reality.
Szeliski explains complex concepts clearly and transforms intricate ideas into understandable terms. It covers a wide range of topics, from image formation and camera models to advanced techniques like 3D vision and motion estimation. In addition, the book excels in its treatment of mathematical foundations.
An Introduction to Statistical Learning (Gareth James, Daniela Witten, Trevor Hastie, and Robert Tibshirani)
This book offers a comprehensive introduction to the foundations of statistical learning. It begins with fundamental concepts in statistical learning and progressively dives into more advanced topics, including linear regression, classification, resampling methods, and more. Real-world examples and case studies accompany each concept, solidifying understanding and illuminating how these techniques are applied in practice.
One of the book's standout features is its integration of R programming for practical implementation. The accompanying R code allows you to replicate examples, manipulate data, and experiment with the presented algorithms.
Collection of Lectures From Stanford University School of Engineering
This compilation of lectures shows Stanford's commitment to sharing valuable insights and fostering intellectual growth on a global scale. This lecture collection is a deep dive into the details of deep learning architectures with a focus on learning end-to-end models for these tasks, particularly image classification. From this lecture collection, you will learn to implement, train, and debug your own neural networks, as well as gain a detailed understanding of cutting-edge research in computer vision. This is a unique opportunity to learn from some of the brightest minds in the field of engineering and technology.
Stanford CS229: Machine Learning Course (by Andrew Ng)
Andrew Ng has the ability to convey complex ideas in a comprehensible manner. His hands-on exercises provide learners with the opportunity to implement and experiment with machine learning algorithms. The curriculum progression is masterfully crafted, gradually leading learners from foundational concepts to more advanced techniques. While machine learning involves mathematical concepts, the course offers gentle explanations. Andrew Ng's expertise, coupled with the course's well-structured curriculum and practical assignments, creates an invaluable resource.
Opinions expressed by DZone contributors are their own.