У меня в названии есть Blockchain и Deep Learning, одного из них обычно достаточно, чтобы привлечь внимание читателей, у меня есть и то, и другое! Расслабьтесь, это не попытка спуфинга, я собираюсь поделиться с вами своим путешествием за последние полтора года, начиная с того, как я построил свою машину для майнинга криптовалют, и как я закончил тренировать свои собственные глубокие нейронные сети с помощью вместо этого майнер.

Часть I — Майнинг криптовалюты

Хорошо, все началось еще в декабре 2017 года. Биткойн — самая горячая тема, и этот график говорит вам, почему говорит вам, почему:

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

Хотя были варианты купить готовые крипто-майнеры, такие как Bitmain, я отказался от создания собственного по нескольким причинам:

  • Майнеры Bitmain не были типичным компьютером с дополнительными возможностями. Вместо этого они были машинами, созданными только для одной цели… Майнинг $$.
  • Майнеры Bitmain хорошо добывали биткойны, но не были предназначены для майнинга других типов криптовалют, таких как Etherium (для чего требуется мощность графического процессора, а не центрального процессора). Я не хотел делать ставку на сам биткойн в долгосрочной перспективе из-за его многочисленных ограничений (высокое время обработки транзакций, высокие комиссии и т. д.), вместо этого я сделал ставку на новые появляющиеся монеты, которые улучшают и решают многие Ограничения биткойна.
  • Я просто люблю собирать мощные компьютеры. И в худшем случае у меня будет мощная машина Fortnite (еще не знал).

Амазон всегда доставляет! Запчасти начали приходить. Это было нелегко! Спрос на графические процессоры взлетел до небес. Такие дистрибьюторы, как New-egg, ограничивали количество графических процессоров, которые можно было приобрести на домохозяйство. Мне приходилось заказывать запчасти из разных источников и в разное время. Забавный факт: если бы я продал все детали через неделю после того, как они прибыли как «бывшие в употреблении», я бы получил прибыль в размере 1000 долларов.

Просто прекрасно!

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

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

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

Одна вещь была очень интересной в этом майнинговом пуле. Моя вычислительная мощность при использовании моей 6 GeForce GTX 1080 составляла 320-360 MH/s, что является хешрейтом или средним количеством «уравнений», которые вы решаете в секунду. Поскольку майнинг-пул был демократическим, все было прозрачно, одно меню показывало вам всю мощность, которую вложили другие пользователи. У главного пользователя было 150 000 MH/s. Если посчитать быстро, это означает, что у этого человека/корпорации было около 3000 графических процессоров в одном месте. Это то, что мы привыкли называть майнинг-фермой. 3000 GeForce GTX 1080. ВАУ!

Великий Криптовалютный Крах

Я начал зарабатывать около 50 долларов в день, круто! Такими темпами я мог вернуть вложенные деньги за 3 месяца. Это казалось отличным вложением, пока не случился Великий Криптовалютный Крах.

Цены сбили. В то время как майнинг становился еще сложнее (все больше майнеров присоединялось к сети). Инвестиции больше не были большими, не жалею, это было очень весело.

Есть еще одна причина, по которой я хотел прекратить добычу полезных ископаемых. Использование электроэнергии. Эта машина использовалась почти столько же, сколько остальная часть всего моего дома. Несмотря на то, что он генерировал $$, чтобы легко покрыть весь счет, он просто не чувствовал себя экологически ответственным, чтобы продолжать его. Чтобы минимизировать ущерб, я отключил отопление в нижней части дома, где находился шахтер. Да, он производил достаточно тепла для всего цокольного этажа площадью 1000 кв. футов. Зима в северной части штата Нью-Йорк помогла моему майнеру охлаждаться и работать эффективно. Перед весной и летом отключил, поэтому не знаю, что было бы в теплое время года. На этом добыча полезных ископаемых закончилась. Когда я выключил его, он приносил около 13 долларов в день. Это просто не стоило экологических затрат.

Бот для торговли криптовалютой

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

Многие торговые платформы имеют довольно хорошие API для торговли. Они дадут вам что-то вроде следующего графика.

Это так называемые свечи. Я экспериментировал со многими алгоритмами, одни торгуют очень часто, раз в несколько секунд, другие реже, раз в минуту. Чтобы получить наибольшую прибыль в торговле, вы должны предсказывать будущее. Есть пионеры в этой области, которые делали это целую вечность на Уолл-Стрит. Я был очень маленьким игроком, который, скорее всего, проиграет. Мой бот был проще, чем у них, я смог получить 50% прибыли за несколько дней, а затем потерял все это в течение следующих нескольких недель. Никаких обид, Goldman Sachs называют так не зря.

Часть II — Глубокое обучение

Куда история идет отсюда? Что ж, я уже был влюблен в Deep Learning и готов практиковаться и экспериментировать. Вы спросите, что нужно ученому глубокого обучения? Хорошая машина для майнинга на GPU!

Глубокое обучение — это то, что мы называем многослойной искусственной нейронной сетью. Нейронная сеть состоит из узлов, которые представляют собой простое математическое представление синапсов мозга. Не нервничайте, это представление так же просто, как: Y = WX + b.

Представьте, если мы соединим миллионы этих Y = WX + b вместе, у каждого будет уникальное значение веса W. Как мы установим значения Ws? Мы начнем с обучения этой сети поиску наилучших значений Ws путем предоставления обучающих данных. Например, если мы обучаем сеть прогнозировать цену дома с учетом его размера, местоположения, количества спален и т. д. Мы передаем эти атрибуты в качестве входных данных X, тогда, если у нас есть правильные значения для W, b, мы получим правильную цену дома Y. При обучении мы задаем сети Y и X и говорим ей найти наилучшие значения для Ws. Теперь этот набор Ws в начале будет работать только для этого дома. Но после 100 000 итераций подачи данных, собранных из разных домов, сеть успешно найдет эти значения, которые будут работать со всеми имеющимися у нас данными, мы называем эти значения весами сети. Теперь, если мы снабдим сеть данными Xs о новом доме, выходом сети Y будет прогнозируемая цена дома. Конечно, это работает, потому что цена дома связана с его размером, расположением, количеством спален и т. д. Иногда нам, людям, легко использовать эти атрибуты и находить закономерности для прогнозирования цены. Однако нейронные сети во многих приложениях превосходят человеческие возможности по обнаружению этих закономерностей. Особенно, когда данные большие (большие данные), такие как данные социальных сетей. В других случаях люди по-прежнему превосходят глубокие нейронные сети, например, вождение автомобиля в неконтролируемой среде.

Я могу продолжать и продолжать объяснять глубокое обучение, но многие другие уже проделали большую работу. Я хочу поделиться с вами, где я применяю его вместо этого.

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

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

Это все на данный момент.