Pull to refresh
12
0
Send message

Логика мышления. Часть 5. Волны мозга

Reading time15 min
Views77K


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

В предыдущей части мы говорили о том, что активность нейронов делится на вызванную и фоновую. Отголоски фоновой активности наблюдают, снимая электроэнцефалограмму. Записываемые сигналы имеют сложную форму и зависят от места приложения электродов к голове, но, тем не менее, в них достаточно четко прослеживаются отдельные гармонические составляющие.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments67

Логика мышления. Часть 2. Факторы

Reading time11 min
Views79K


В предыдущей части мы описали самые простые свойства формальных нейронов. Проговорили о том, что пороговый сумматор точнее воспроизводит природу единичного спайка, а линейный сумматор позволяет смоделировать ответ нейрона, состоящий из серии импульсов. Показали, что значение на выходе линейного сумматора можно сопоставить с частотой вызванных спайков реального нейрона. Теперь мы посмотрим на основные свойства, которыми обладают такие формальные нейроны.
Читать дальше →
Total votes 46: ↑34 and ↓12+22
Comments5

Логика мышления. Часть 1. Нейрон

Reading time10 min
Views314K


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

В настоящем цикле статей планируется рассказать о той концепции интеллекта над которой мы сейчас работаем и продемонстрировать некоторые решения, являющиеся принципиально новыми в сфере моделирования работы мозга. Но чтобы повествование было понятным и последовательным оно будет содержать не только описание новых идей, но и рассказ о работе мозга вообще. Какие-то вещи, особенно в начале, возможно покажутся простыми и общеизвестными, но я бы советовал не пропускать их, так как они во многом определяют общую доказательность повествования.
Читать дальше →
Total votes 62: ↑53 and ↓9+44
Comments23

Dokku: самый маленький PaaS

Reading time1 min
Views33K
Dokku — это мини-Heroku, сделанный на базе Docker и состоящий из менее чем 100 строк на Bash.

После установки Вы сможете публиковать свои приложения простым git push. Каждое приложение будет запущено в изолированном контейнере. В конечном итоге у Вас будет своя Heroku-подобная платформа.
Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments6

Программируем квадрокоптер на Arduino (часть 1)

Reading time18 min
Views358K


Здравствуйте, хаброжители!
В этой серии статей мы с вами приоткроем крышку квадрокоптера чуть больше, чем этого требует хобби, а также напишем, настроим и запустим в воздух собственную программу для полетного контроллера, которым будет являться обычная плата Arduino Mega 2560.

У нас впереди:
  1. Базовые понятия (для начинающих коптероводов).
  2. PID-регуляторы с интерактивной web-демонстрацией работы на виртуальном квадрокоптере.
  3. Собственно программа для Arduino и настроечная программа на Qt.
  4. Опасные тесты квадрокоптера на веревке. Первые полёты.
  5. Крушение и потеря в поле. Автоматический поиск с воздуха средствами Qt и OpenCV.
  6. Окончательные успешные тесты. Подведение итогов. Куда дальше?

Материал объемный, но постараюсь уложиться в 2-3 статьи.
Сегодня нас ожидает: спойлер с видео, как наш квадрокоптер полетел; базовые понятия; PID-регуляторы и практика подбора их коэффициентов.
Читать дальше →
Total votes 107: ↑106 and ↓1+105
Comments96

Программируем Arduino на чистом Си

Reading time3 min
Views138K
В жизни ардуинщика рано или поздно наступает момент, когда в штатной среде разработки становится тесно. Если скетчам перестает хватать памяти, требуется жесткий реалтайм и работа с прерываниями или просто хочется быть ближе к железу — значит пришло время переходить на C. Бывалые электронщики при упоминании Arduino презрительно поморщатся и отправят новичка в радиомагазин за паяльником. Возможно, это не самый плохой совет, но мы пока не будем ему следовать. Если отбросить Arduino IDE и язык wiring/processing, у нас в руках останется прекрасная отладочная плата, уже оснащенная всем необходимым для работы микроконтроллера. И, что немаловажно, в память контроллера уже зашит бутлоадер, позволяющий загружать прошивку без использования программатора.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments29

Обзор методов эволюции нейронных сетей

Reading time15 min
Views51K


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

Построение искусственной нейронной сети по традиционной методике выполняется, фактически, методом проб и ошибок. Исследователь задает количество слоев, нейронов, а также структуру связей между ними (наличие/отсутствие рекуррентных связей), а затем смотрит, что же у него получилось — сеть обучается с помощью какого-либо метода, а затем тестируется на тестовой выборке. Если полученные результаты работы удовлетворяют заданным критериям, то задача построения ИНС считается выполненной успешно; в противном случае — процесс повторяется с другими значениями исходных параметров.

Естественно, бурное развитие теории и практики использования генетических алгоритмов, заставило исследователей (лень — двигатель прогресса) искать способы применить их к задаче поиска оптимальной структуры ИНС (эволюция нейронных сетей или нейроэволюция), тем более, что, так сказать, proof-of-concept был налицо, или, точнее, в голове — природа наглядно демонстрировала решаемость подобной задачи на примере эволюции нервной системы с последующим образованием и развитием головного мозга.

Обзор и сравнение методов нейроэволюции под катом
Total votes 65: ↑60 and ↓5+55
Comments32

Управляем зависимостями в iOS-приложениях правильно: Знакомство с Typhoon

Reading time8 min
Views36K
«Any magic, sufficiently analyzed is indistinguishable from technology.»

Артур Кларк
(эпиграф в официальной wiki проекта Typhoon Framework)




Цикл «Управляем зависимостями в iOS-приложениях правильно»



Введение


В рамках этого цикла статей я не буду углубляться в теорию, рассматривать Dependency Inversion Principle или паттерны Dependency Injection — примем за данность, что читатель уже достаточно подготовлен к тому, чтобы познать дзен, и перейдем сразу к практике (ссылки для знакомства с теорией даны в самом конце поста).

Typhoon Framework — это самая известная и популярная реализация DI-контейнера для Objective-C и Swift приложений. Проект достаточно молодой — первый коммит был сделан в самом конце 2012 года, но уже обзавелся большим количеством поклонников. Отдельного упоминания заслуживает активная поддержка проекта его создателями (один из которых, между прочим, живет и работает в Омске) — на большинство создаваемых Issue отвечают в течение десяти минут, а уже через несколько часов к обсуждению присоединяется вся команда.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments7

О переводе проекта с Objective-C на Swift

Reading time9 min
Views18K
Здравствуйте, уважаемые читатели.

Среди самых животрепещущих тем, которые поднимались на наших издательских советах в последние полгода, особое место занимает язык программирования Swift. При огромном интересе к нему со стороны западных разработчиков и при подлинном изобилии книг на эту тему язык пока кажется довольно сырым. Поэтому, прощупывая почву насчет востребованности нового языка, предлагаем познакомиться с постом великолепного Мэтта Нейбурга, автора книги «Programming iOS 8: Dive Deep into Views, View Controllers, and Frameworks». Автор подробно описывает перевод приложения на новый эппловский язык, убедительно доказывая: «глаза боятся — руки делают», а гибридная сборка Objective-C и Swift отнюдь не напоминает смесь французского с нижегородским.

Приятного прочтения и плодотворных экспериментов.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments8

Чтобы распознавать картинки, не нужно распознавать картинки

Reading time18 min
Views236K
Посмотрите на это фото.



Это совершенно обычная фотография, найденная в Гугле по запросу «железная дорога». И сама дорога тоже ничем особенным не отличается.

Что будет, если убрать это фото и попросить вас нарисовать железную дорогу по памяти?

Если вы ребенок лет семи, и никогда раньше не учились рисовать, то очень может быть, что у вас получится что-то такое:
Осторожно, тяжелые гифки
Total votes 263: ↑258 and ↓5+253
Comments104

Алгоритм «diamond-square» для построения фрактальных ландшафтов

Reading time12 min
Views116K
Карта игры Minecraft, созданная с помощью приложения CartographДумаю, многие знакомы с весьма необычной игрой Minecraft (справа — пример сгенерированной в ней карты), в которой игрок находится на (практически) бесконечной поверхности Земли и может исследовать окружающий мир с минимальными ограничениями.

Как же автору игры, Notch'у, удалось добиться подобного сходства его случайных «миров» с земными просторами? В этом топике я как раз и рассмотрю один из способов построить искусственный ландшафт такого рода (и вскользь упомяну пару других способов), а также расскажу о моем небольшом усовершенствовании этого алгоритма, позволяющем значительно увеличивать размеры ландшафта без заметных потерь в производительности.

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

Читать дальше →
Total votes 147: ↑146 and ↓1+145
Comments58

iOS tips and tricks: Динамический Default.png

Reading time2 min
Views3.4K
При разработке под iOS время от времени у заказчиков, да и у некоторых программистов возникает закономерный вопрос: «А можно ли каким-нибудь образом при старте приложения подменять картинку?».

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

Однако, все же, это возможно сделать стандартными способами, без всякого рода Jailbreak'а. Впрочем, как и у каждого решения есть свои плюсы, минусы и особенности.

Читать дальше →
Total votes 7: ↑4 and ↓3+1
Comments10

Как устроиться на работу в Google

Reading time4 min
Views844K
Работать где-то мечтают не все. Работать в компании Google мечтают многие, кто решил связать свою жизнь с IT.

Google — компания-гигант, одна из крупнейших IT-корпораций. Сотрудники такой компании нужны постоянно (новые области, текучка кадров).

Всё, что написано ниже, основано на личном опыте, а так же опыте тех людей, которым я могу доверять.

Шаг 1 — резюме.

В компании Google к резюме особое отношение. Получая миллионы заявок в год, компания выбирает несколько сотен сотрудников. Именно поэтому отличное резюме — первый шаг к работе мечты.
Что писать в резюме нужно обязательно:

  • e-mail, телефон для связи
  • все места учёбы (ВУЗы), дополнительное образование
  • Опыт работы*
  • Личные качества (придумайте что-то оригинальнее отзывчивости, стрессоустойчивости, коммуникабельности)
  • Хобби
  • Reference — люди, которые могут дать вам рекомендации
  • Знание языков

*Опыт работы в резюме для Google (и вообще для западных компаний) — это не только должность, компания, но и те успехи и достижения, которых вы добились на позиции. Если вы продажник — покажите цифры. Если программист — то как именно ваша работа улучшила работу компании. Работу рекомендуется указывать всю, а не только по профилю (если работали в МакДоналдсе, то даже такое стоит указать).

Что не нужно писать в своём резюме:
  • Дату рождения, личные данные
  • Есть ли водительские права
  • Семейное положение
  • Прочую «шелуху», которая только отвлечёт рекрутера

Читать дальше →
Total votes 128: ↑89 and ↓39+50
Comments114

ООП. Неспешная беседа возле кулера

Reading time4 min
Views15K


Юрий Моисеевич (ЮМ) — невысокий, гладко выбритый молодой человек лет сорока пяти, всё ещё подающий надежды. Имеет горделивый изгиб спины и маслянистый взгляд. Говорит тихо, почти шепчет.
Михаил Валерьевич (МВ) — широкоплеч и пузат, с окладистой кучерявой бородой. Говорит зычным, густым басом. Являясь признанным профессионалом, невольно вызывает уважение сам у себя.

Офисная кухня: небольшая каморка без окон, в центре стоит пластмассовый стол, в углу — кулер с водой, вдоль стен — табуретки. Около кулера затаился Юрий Моисеевич. На кухню заходит Михаил Валерьевич, чтобы попить воды. В правой руке он несёт чашку.

ЮМ (преграждая дорогу к кулеру, заискивающе): — Позвольте поинтересоваться!
МВ (учтиво кланяясь): — Прошу вас, Юрий Моисеевич, я всецело к вашим услугам.
ЮМ: — Не поведаете ли вы мне, любезный друг, о тонкостях своей столь нелёгкой работы?
МВ: — С превеликим удовольствием. Но моя работа столь многогранна, и, как вы сейчас верно заметили, столь нелегка, что я, право же, не знаю, с чего начать.
ЮМ: — А начните, пожалуй, с самых, так сказать, основ. Поведайте, какие технологии вы используете?
Читать дальше →
Total votes 167: ↑103 and ↓64+39
Comments36

Неочевидный способ борьбы с прокрастинацией

Reading time3 min
Views32K
Наверняка, многие слышали о таком понятии, как “состояние потока”. Сейчас выходит много умных книжек и статей на эту тему. Но если не вдаваться в подробности и говорить простыми словами, то это такое состояние, в котором лучше всего работать. Концентрация и вовлеченность в таком состоянии максимальны, правильные решения приходят в голову быстро и естественно, ничто окружающее не отвлекает: ни захламленный рабочий стол, ни неудобное кресло, ни поздний час или голодный желудок.

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



Читать дальше →
Total votes 164: ↑156 and ↓8+148
Comments104

Карьерный рост в ИТ глазами карьериста

Reading time4 min
Views5.1K
Вступление

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

* картинка взята с этого сайта
Читать дальше →
Total votes 69: ↑50 and ↓19+31
Comments44

Основы работы с Robotic Operating System

Reading time5 min
Views59K

Введение


    Доброго всем времени суток!
    Осваивая в очередной раз просторы Хабра, заметил, что здесь практически нет информации о Robotic Operating System (далее просто ROS). Поспешу исправить эту оплошность и популяризовать замечательный продукт.
image
    Что же это такое? ROS представляет собой надстройку над ОС, которая позволяет легко и просто разрабатывать системы управления роботами. Что это означает и как с этим потом жить — и призвана рассказать серия топиков.
    По сути, ROS — это набор из различных широко (и неочень) известных библиотек, таких как:
  • OpenCV — библиотека, содержащая алгоритмы компьютерного зрения и обработки изображений;
  • PCL- библиотека для работы с облаками 3D-точек;
  • Ogre — объектно-ориентированный графический движок с открытым исходным кодом;
  • Orocos — библиотека для управления роботами (например, расчет кинематики).

    Также в ROS входят драйвера для различных манипуляторов и сенсоров (включая MS Kinect).
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments20

Нано-эппл, или как стать производителем электроники

Reading time5 min
Views4.2K
Итак, вы решили сделать что-то вот эдакое! Новый MP3-плеер, пульт управления для телевизора, да хоть датчик температуры. В моем случае это был пульт управления фотоаппаратами, и идея пришла в час ночи, когда я ради развлечения фотографировал стройку при свете луны. Началось это все в сравнительно небольшом сибирском городе… а сейчас у нас производство в Техасе и дистрибьюторы по всему миру. Вспоминая этот веселый путь, хотелось бы описать как удачные находки, так и ошибки, допущенные в процессе подготовки к производству.
Читать дальше →
Total votes 119: ↑114 and ↓5+109
Comments88

Расписание выхода статей на Хабре (на любую неделю)

Reading time2 min
Views22K
Понедельник
  • Новости: ученые изобрели машину времени, вышел новый ноутбук толщиной 80 нанометров, Google покупает Microsoft, Facebook увольняет 1000 программистов.
  • Вылез стартап. Попиарился, лёг под хабраэффектом, встал, собрал замечания, поблагодарил, пропал навсегда.
  • Вышла новая версия третьего слева линукса. Качать срочно.
  • Я негодую — счет за телефон оператор округлил до кратности числу Пи.

Вторник
  • Опровержение новостей: ученые изобрели всего-лишь более точные часы, 80 нанометров — это техпроцесс, а не толщина ноутбука, Google покупает какой-то стартап, который отказался купить Microsoft, Facebook набирает 5000 программистов.
  • Начало холивара, модного на этой неделе (чай vs кофе, бинокль vs подзорная труба, черное vs белое)
  • Очень важный технический ресурс (ЖЖ, порнолаб, Sony Network) взломан (заДДОСен, конфискован УБОПом). Паника и отчаяние.

Читать дальше →
Total votes 432: ↑418 and ↓14+404
Comments57

Паттерны проектирования

Reading time2 min
Views48K
Здравствуй хаброчеловек!

Так уж случилось, что с этого семестра в своем вузе я записался на спецкурс по паттернам проектирования. Курс проходит в виде семинаров, на которых ты (студент) должен рассказать чему научился за неделю (имеется ввиду, какие паттерны изучил и применил на практике).
Читать дальше →
Total votes 47: ↑37 and ↓10+27
Comments29
1
23 ...

Information

Rating
Does not participate
Registered
Activity