Многие из «классических» или «библий», которые я часто рекомендую, читать так же увлекательно, как и словари, поэтому я решил составить список, который я хотел бы, чтобы кто-то другой написал, когда я только начинал.

Электроника

Практическая электроника для производителей - всестороннее введение во все аспекты электроники, где каждая тема объясняется очень кратко. Вы не должны просто сесть и прочитать все целиком, главы написаны независимо друг от друга, поэтому вы можете решить, хотите ли вы сегодня узнать об электромагнетизме, проектировании схем, фильтрах и микроконтроллерах. Искусство электроники - еще одна подобная всеобъемлющая книга, которая идет немного глубже, чем первая книга, но, честно говоря, мне трудно ее читать.

Машиностроение

Структуры: или почему вещи не падают - Прежде чем вы поймете, как работают движущиеся тела, стоит понять, как работают статические тела. Чувствовал себя как диплом бакалавра в области гражданского строительства и материаловедения.

Инфраструктура - мы часто воспринимаем как должное современную инфраструктуру, которая помогает нам жить в наших уютных квартирах. Это был мой любимый журнальный столик, к которому я неоднократно возвращался, чтобы узнать, как на самом деле работают шахты, очистные сооружения, электросеть, буровые установки и все остальное в наших бетонных джунглях.

Встроенные вычисления и мехатроника с микроконтроллером PIC32 - роботы включают программное обеспечение, электронику и машиностроение, так что это редкая книга, которая поможет вам действительно понять, как действительно работают датчики и соединения, не рассматривая их как абстракции. Вы также узнаете больше о развертывании роботов в реальном мире.

Справочник по модельной ракетной технике - даст вам все инструменты, необходимые для создания воздушных или водных роботов, поскольку оба они используют двигательные установки. Конечно, они более сложны, чем наземные роботы, и часто будут одноразовыми, если вы в этом не разбираетесь.

Математика робототехники

Современная робототехника: механика, планирование и управление - если абстрагироваться от робота математически, у вас останется связка конечностей, соединенных суставами, которые должны двигаться и вращаться в пространстве для достижения некоторых целей. Оказывается, вам действительно нужна математика более высокого уровня, чтобы представить все это, и эта книга - лучшее введение в группы лжи и теорию винта, которое я читал. Эта книга также поставляется с очень короткими и понятными библиотеками Python, Julia и C ++, в которых реализовано все. Есть также несколько глав о планировании пути, ПИД-регуляторах и SLAM, но для этих конкретных тем я предпочел Алгоритмы планирования.

«Чистая» математика

Математика и ее история - обычно сложно понять, для чего вы использовали математику и почему вы оправдываете ее изучение, не зная о возможном применении. Я обнаружил, что действительно полезно взглянуть на историю того, почему была разработана техника.

Абстрактная алгебра

Акцент на чистоте объясняется тем, что я считаю, что математические области, которые сегодня считаются слишком «абстрактными», на самом деле уже применяются в физике и робототехнике. Эти методы также находят применение в машинном обучении.

Visual Group Theory - моя любимая книга по абстрактной математике. Существует ошибочное предположение, что алгебраические доказательства более строгие, чем визуальные. Просто прочтите Элементы Евклида Бирна, чтобы убедиться в обратном в простом случае евклидовой геометрии. Тем не менее, визуальный подход также применим к гораздо более сложным математическим структурам, а Visual Group Theory предоставит вам красивые диаграммы, с которыми вы также можете поиграть в Интернете.

Алгебра Глава 0 - это всестороннее введение в абстрактную алгебру, где большинство доказательств проводится с использованием теории категорий. Хотя поначалу это может показаться запутанным, учтите, что большинство окончательных доказательств значительно сократились по длине по сравнению с другими классическими.

Приглашение к прикладной теории категорий: семь набросков в композиционности - теоретики категорий часто шутят, что они работают над абстрактной ерундой, но на самом деле они работают над изучением композиционности, которое обнаруживает вычислительные графы, такие как схемы и нейронные сети, и математические доказательства. Изучение теории категорий во многом похоже на обучение программированию: вы сможете излагать доказательства в более сжатой форме, потратив некоторое время на изучение новой непрозрачной терминологии.

Анализ

Визуальный комплексный анализ и Визуальные сложные функции (заметили закономерность?) Имеют одни из самых диких диаграмм, которые я когда-либо видел. Комплексные числа изначально обладают этим странным таинственным свойством. Тайна будет сменяться трепетом каждый раз, когда вы открываете любую книгу.

Визуальное введение в дифференциальные формы и исчисление на многообразиях - как бы мне хотелось, чтобы это была моя вводная книга Исчисление, а не непрозрачный беспорядок, с которым мне приходилось работать. Мне, вероятно, не нужно говорить вам, что математические вычисления действительно полезны, и поскольку специалисты по машинному обучению стремятся решать проблемы более сложные, чем ∂x², вы, вероятно, не пожалеете, что наконец поняли математический анализ.

Топология

Иллюстрированная топология - содержит почти бесконечное количество примеров, которые красиво нарисованы, так что топологические идеи действительно остаются у вас. Топология уже используется для моделирования конфигурационного пространства роботов и становится все более популярной в анализе данных.

Элементарная прикладная топология - это уникальная книга по математике, в которой нет ничего против того, чтобы ее можно было описать более четко, НО если вы прочтете это, а также изучите детали в Википедии или Youtube, вы обнаружите, что в нем есть кое-что особенно важное. хорошие примеры приложений алгебраической топологии, которые в других книгах не кажутся такими важными.

Вычислительная математика

Линейная алгебра, сделанная правильно - вам нужна линейная алгебра практически для любых научных вычислений. Вводные классы обычно представляют матрицы как своего рода контейнеры для уравнений, и эта аналогия затрудняет выяснение того, почему для матриц выполняются определенные свойства. Если вы думаете о матрице как о линейной карте между пространствами, становится намного легче думать о них.

Геометрическая алгебра для компьютерных ученых - некоторые вещи из линейной алгебры просто бессмысленны. Почему определители работают только для квадратных матриц? Почему кросс-продукт не работает в больших размерах? Оказывается, геометрическая алгебра - это другой формализм, который может моделировать геометрические проблемы, включая данные и топологию, гораздо более естественным образом. Книга поставляется с библиотекой GA, с которой легко поиграть, поэтому вас не обманут сложные формулы.

Нелинейная динамика и хаос - даже небольшие системы могут демонстрировать хаотическое поведение, поэтому важно понимать, как их решать и визуализировать. Решенные задачи в этой книге исключительно хороши и наполнены красивыми изображениями, которые сделают вас профессионалом в работе с маятниками. Роботизированное движение - пример нелинейной хаотической системы.

Чисто функциональные структуры данных - по общему признанию, это странная рекомендация, особенно для раздела по вычислительной математике. Тем не менее, функциональное программирование - гораздо более естественная парадигма научного кода по сравнению с системным кодом. Прочитав эту книгу, я наконец понял, как работает Spark, и с тех пор получил удовольствие от чтения короткого и мощного кода Haskell для науки. Замечательный пример - Автоматическая дифференциация в Haskell.

Алгоритмы оптимизации - раньше я рекомендовал Выпуклую оптимизацию, но начал рекомендовать эту. Эти две книги похожи, ясный код Джулии, ясная математика, но Алгоритмы для оптимизации НАМНОГО короче и так же хороши. Сведение к минимуму функции на самом деле довольно сложный бизнес, и на самом деле многие современные исследования в области машинного обучения в значительной степени сосредоточены на оптимизации.

Теория информатики

Вычислительная сложность - что такое P против NP? Что Quantum делает с криптографией? Какие еще классы сложности? Это фантастическая книга: вы действительно сможете увидеть, как теоретики компьютерной науки решают сложные вычислительные задачи.

Квантовые вычисления со времен Демокрита - это лучшее, что я рекомендую людям, которые говорят мне, что хотят узнать больше о математике. Это, безусловно, самое доступное введение в квантовые вычисления, но также и в вычислительную сложность, которое я когда-либо читал. Это более математически и менее бессвязно, чем что-то вроде Геделя, Эшера и Баха.

Элементы теории информации - как на самом деле работает прослойка между аппаратным и программным обеспечением? Что на самом деле означает информация?

Физика

Чтобы по-настоящему разбираться в электронике и механике, вам необходимо иметь хотя бы базовое понимание физики. Я часто вижу книги Сасскинда, такие как Теоретический минимум: что нужно знать, чтобы начать заниматься физикой или Лекции Фейнмана, но эти книги никогда не помогали мне, так как я не мог понять, как повернуть уравнения в код, который я мог визуализировать, пока это делал приведенный ниже список.

Расширение человека - похоже на «Математику и ее историю», это очень короткая книга, которая мотивирует большинство открытий и изобретений в физике, поэтому у вас будет отличный контекст, когда вы прочтете любое из нижеприведенных. К сожалению, похоже, что сейчас он распродан на Amazon, поэтому я обновлю эту ссылку, если / когда она снова станет доступной.

Серьезная классическая механика - переходит к лагранжевой и гамильтоновой формулировкам классической механики, которая оказывается намного более мощной и простой в программировании, чем ньютоновская механика. Эта книга является частью целой серии, в том числе Квантовая механика и магнетизм. Я еще не читал другие книги, поэтому я пересмотрю их, когда закончу с ними.

Структура и интерпретация классической механики - разрабатывает предметно-ориентированный язык для выполнения лагранжевой физики в LISP. Другая книга тех же авторов Структура и интерпретация компьютерных программ невероятно популярна на форумах, подобных Hacker News, но SICM особенный, потому что показывает, как можно решать проблемы, создавая для них собственный язык программирования.

Природа кода - если вы хотите лучше понять, как работают физические движки или как моделировать биологические процессы, это замечательная книга с простым кодом и пояснениями, которую вы можете запустить в своем браузере.

Биология

Путешествие к муравьям - мы склонны полагать, что люди - самый продвинутый вид на Земле, но муравьи намного превосходят нас по численности. Колония - это распределенная система, состоящая из тысяч муравьев, которая может регулировать движение, пол и войну. У королев есть банки спермы. Муравьи могут инстинктивно находить столбы в подземных колониях, разрушать их и захоронить целую колонию врагов. Прочтите это и получите вдохновение.

Машины жизни - лучшая книга по биологии, которую я когда-либо читал. Книги по биологии имеют тенденцию читаться как латинские словари, в которых читателю сваливаются слои за слоем фактов. Вместо этого эта книга наглядно показывает вам, как выглядит белок, вирус или бактерия - часто это просто структура объекта, которая определяет его функцию, и как только вы вспомните формы биологических организмов, вы будете в восторге и никогда не забудете функцию

ДНК: история генетической революции - вместо запоминания свалок информации гены приобретут гораздо больший смысл, если вы изучите историю и первый принцип, думая, что пионеры, такие как Уотсон и Крик, должны были участвовать, чтобы открыть шлюзы биологической программирование

Машинное обучение

Наука о данных с нуля - невероятно хорошо написанная прикладная книга, в которой вы начинаете с реализации базовой библиотеки линейной алгебры с нуля вплоть до глубоких нейронных сетей; к концу этой книги вы не будете знать всех текущих исследований в области машин. Учишься, но ты будешь хорошо подготовлен, чтобы понять большинство из них.

Распознавание образов для машинного обучения - это исчерпывающий текст, но он все равно читается очень хорошо. Прочтите первую пару глав, и вы хорошо поймете, как работает теория машинного обучения, и сможете постепенно вернуться к последующим, когда они вам заинтересуются.

Deep Learning with Python - охватывает все виды различных алгоритмов глубокого обучения. Код здесь очень удобен для чтения, поскольку он написан изобретателем Кераса, первой библиотеки глубокого обучения с разумным API.

Разработка приложений с интенсивным использованием данных - в этом списке не так уж много книг по системам. Как правило, лучшие книги по системам, которые я читал, были документацией по действительно хорошо поддерживаемым продуктам с открытым исходным кодом, НО эта книга - редкое исключение. Он охватывает все вопросы, связанные с производительностью, которые могут возникнуть у вас в отношении систем данных, и особенно хорошо освещает различные компромиссы между системами, которые вы можете выбрать. Эта книга помогает мне обнаруживать BS в объявлениях о продуктах.

Вся статистика - это моя любимая теоретическая книга о данных. Всякий раз, когда в статистике есть какое-то понятие, в котором я не уверен, я возвращаюсь к этой книге за предельно короткими и ясными объяснениями и доказательствами.

Статистическое переосмысление - если вы возьмете в руки любую книгу по байесовской статистике, они обычно будут избивать вас доказательством за доказательством, при этом обещая вам, что как только вы его получите, все ваше мировоззрение изменится. Эта книга, с другой стороны, проясняет, что байесовский анализ - это вычислительная техника и книга грамотного программирования, написанная на R, наполненная кодом и красивыми рисунками, которые заставят все щелкнуть. Если вам не нравится R, вы найдете целое сообщество людей, которые перенесли эту книгу на другие языки, включая Python и Julia. Я провел около 8 лет, думая, что байесовские методы переоценены, и эта книга изменила мое мнение.

Статистические последствия толстых хвостов - эта книга представляет собой техническое резюме всех идей, которые Нассим Талеб обсуждает в своей книге. Все понимают, что большинство явлений реального мира нельзя анализировать с помощью гауссианов, но они продолжают это делать, потому что доказательства хороши и удобны. Эта книга содержит доказательства, цифры и интуитивное понимание того, как работать с Fat Tails.

Глубокое обучение и игра го - я бы рекомендовал эту книгу вместо классической Обучение с подкреплением: Введение. Многие справочники по обучению с подкреплением тратят гораздо больше времени на алгоритмы, чем на остальную часть конвейера, которая вам нужна, чтобы получить реальную систему, использующую RL. Я также рекомендую эту книгу как лучшее введение в машинное обучение для людей, которые умеют программировать. Вы увидите различные алгоритмы RL, узнаете, как генерировать данные для обучения, даже если ваша проблема не связана с контролируемым обучением, и развернете свой агент в сети, чтобы другие могли играть против него.

Компьютерная графика

Введение в математику компьютерной графики - написано тем же автором моей любимой книги по математике Visual Group Theory. Это книга по компьютерной графике, которую могут понять не компьютерщики, но, кажется, она также охватывает все важные темы. Бесценная и красивая книга.

Компьютерное зрение - чтобы по-настоящему понять зрение, вам необходимо понять проективную геометрию и то, как проецировать сцену с 3-го на 2-мерный экран. В этой книге рассматриваются различные методы предварительного глубокого обучения. Мне особенно понравились разделы о фотограмметрии, в которых рассказывается о переходе от двухмерного изображения к трехмерной сцене, что позволяет вам делать такие вещи, как импорт вашей мебели в VR, чтобы вы не натолкнулись на что-то.

Физически основанный рендеринг - честно говоря, я считаю эту книгу сложной, но к концу вы создадите целый физический движок рендеринга для создания фотореалистичных изображений. Книга написана грамотно, поэтому движком является сама книга. Насколько мне известно, это единственная книга в этом списке, получившая Оскар.

Программирование игр

Основы разработки игровых движков - первая часть неполной серии из 4 частей, посвященных созданию игровых движков. В книге есть особенно хорошие диаграммы и понятный код, объясняющий, как работает весь конвейер игрового движка.

Шаблоны программирования игр - это книга, которая заставила меня понять шаблоны дизайна. Первой, что мне порекомендовали, были Шаблоны дизайна, который является типичным примером книги, которая читается как словарь. Игры включают в себя моделирование и рендеринг множества объектов и их взаимодействий, и быстро становится невозможным добавлять функции в беспорядочную базовую базу кода.

Game Hacking - взлом в этических целях бесценен. Вы узнаете об основах, которые понадобятся вам для реинжиниринга того, как реализованы определенные функции, которые вам нравятся в играх, и сможете использовать это, чтобы вдохновить вас на собственную реализацию.

Doom / Wolfenstein Black books - две книги из этой серии определяют жанр книг по программированию, который я называю археологией программирования. Унизительно видеть, что должны были сделать старые профессионалы вроде Кармака, чтобы создать быструю трехмерную игру в то время, когда компьютеры в значительной степени были машинами для работы с электронными таблицами.

Программирование многопользовательских игр - заставило меня наконец понять, как работают компьютерные сети. Медленный веб-сайт - отстой, но все же можно использовать, медленную игру нельзя использовать, поэтому все специалисты по обслуживанию системы могут многому научиться из многопользовательских игр.

Теория игр

Теоретико-игровые основы теории вероятностей и финансов - я много раз слышал предложение вроде ДЕЙСТВИТЕЛЬНО получить машинное обучение, вам нужно изучить теорию измерения, но я всегда находил аналогии с наборы скорее сбивают с толку, чем полезны. К счастью, вы можете вывести большинство теорем из теории вероятностей, используя вместо этого теорию игр, и в итоге вы получите более короткие и интуитивно понятные доказательства. Теория вероятностей была изобретена для решения проблем, связанных с азартными играми, так почему бы не создать теорию, которая лучше отражает эту основу?

Мультиагентные системы - это не только лучший учебник по теории игр, который я знаю, но и знакомство со многими более сложными темами, такими как доверие, голосование, аукционы и другие. Это идеально, если вы хотите узнать больше о стимулах, которые навязывают криптовалюты.

Кожа в игре - это, наверное, самое легкое чтение в этом списке, потому что это не учебник. Автор того же автора Черного лебедя, Кожа в игре рассматривает различные эвристики, которые разные общества использовали для управления собой распределенным образом. После того, как я прочитал эту книгу, я становился одержимым и злился каждый раз, когда замечал, что кто-то находится в положении, когда у него есть неограниченный потенциал роста, когда дела идут хорошо, и нет никакой шкуры в игре, когда дела идут плохо.

Дизайн

В конце концов, независимо от того, насколько сложна внутренняя часть робота, вы все равно хотите разработать что-то, что вам и другим понравится использовать.

Дизайн повседневных вещей - эта книга меняет ваш взгляд на мир. Вы сможете определить, почему вам нравятся или не нравятся определенные продукты, и если вы избавитесь от своего эго, вы сможете сделать то же самое для любого продукта, который вы создаете.

Три лучшие книги Тафте - Визуальное отображение количественной информации, Представление информации и Визуальные объяснения: изображения и количества, свидетельства и повествование, и они научат вас, как действительно хорошо объяснять вещи, будь то текст, график или иллюстрация.

Не заставляйте меня думать - эта книга претендует на то, чтобы сделать веб-сайты более понятными, но на самом деле она о том, чтобы сделать ваш продукт более понятным. Все, с чем взаимодействуют ваши пользователи, - от упаковки до оборудования и документации API и кода - должно вызывать радость.

Понимание комиксов - комикс, объясняющий, почему комиксы могут быть такими популярными. Вы узнаете много нового о том, как представить информацию таким образом, чтобы вызвать определенные эмоции у читателя. Эта книга на самом деле не о комиксах, а о повествовании в целом, и она напоминает о другой книге, которая на самом деле не о том, что предполагает ее название Impro: Импровизация и театр.

Теория веселья - просто безумное количество книг по разработке видеоигр и настольных игр, почти все они читаются как словари, просто вытаскивают случайные примеры из популярных игр и называют это ПРИНЦИПОМ ДИЗАЙНА. Эта книга, с другой стороны, представляет собой комикс, который раскрывает корень того, что делает вещи интересными и почему мы играем.

Следующие шаги

Если вам понравилась какая-либо из вышеперечисленных книг, сообщите мне об этом.

Если у вас есть любимые книги, которых нет в этом списке, сообщите мне об этом.

Если вы все еще сомневаетесь в отношении какой-либо из этих книг, дайте мне знать, как я могу убедить вас купить их. Помните, что все вместе они дешевле, чем семестр вашего университетского образования, и дадут вам достаточно информации, чтобы ее хватило на всю жизнь.

Если вам понравилась какая-либо из этих книг, вам, вероятно, понравится моя книга Руководство роботов-повелителей.

Дополнительный