Идеи проекта нейронной сети - PullRequest
14 голосов
/ 18 октября 2011

Я учусь на компьютере по специальности AI.Сейчас я изучаю темы для моего проекта на последнем курсе, и меня очень интересует Neural Network, хотя я почти ничего об этом не знаю.

Темы, которые я сейчас рассматриваю, - это язык и музыка, поэтому яищите предложения, что будет интересно или популярно, что можно сделать с Neural Network для языка и музыки.Не стесняйтесь давать предложения для другого поля тоже.

Любые входные данные, предложения, ссылки, советы или указатели будут оценены.Спасибо!:)

Обновление: поэтому я сузил тему, которую я, скорее всего, делаю:

  1. Классификация музыкального жанра с использованием NN
  2. Текстовое копирование с использованием NN

Мой вопрос: слишком ли оба они продвинуты, чтобы быть студентом бакалавриата?

Ответы [ 5 ]

10 голосов
/ 18 октября 2011

взгляните на http://archive.ics.uci.edu/ml/datasets.html и посмотрим, найдете ли вы тему, которая вам нравится.

Если у вас есть опыт работы с C ++ и C, у вас не возникнет много проблем с изучением Matlab.

Что касается используемой темы, я предлагаю вам посмотреть ссылку выше и попытаться найти то, что вам нравится, которое можно применить к NN, search acm, ieee или другим репозиториям для статей о NN, и посмотреть, сможете ли вы найти также исследования или отчеты по теме, которую вы можете искать.

Удачи.

2 голосов
/ 23 апреля 2012

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

2 голосов
/ 08 ноября 2011

Существует действительно хороший Google Tech Talk о нейронных сетях.

youtube.com / смотреть? V = AyzOUbkUf3M

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

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

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

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

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

Таким образом, учитывая всю эту классификацию текста, гораздо более выполнимо, чем музыка.

Нейронным новичкам нужен ОГРОМНЫЙ массив данных. Википедия огромна и содержит много мета-информации о каждой странице (популярность, качество, количество изменений и т. Д.). Google также может получить большой набор данных, которые имеют особую классификацию, скажем, «счастливые собаки» против «грустных собак» или просто «собаки», где рейтинг Google соответствует классификации.

2 голосов
/ 08 ноября 2011

Извините, я бы упростил вещи, но я бы хотел немного рассеять туман.Простая нейронная сеть - это способ аппроксимации функции, называемой е, от (обычно) R ^ n (вещественное векторное пространство размерности n) до R ^ m и т. П.Предположим, что m = 1.Вместо того, чтобы искать полином P (x_1, .., x_n), аппроксимирующий вашу функцию на основе набора выборок (p, f (p)), вы стремитесь найти параметры a_i, b_ij в чем-то вроде s (a_1 * s (b_11 * x_1 + b_n1 * x_n) + ... + a_t * s (b_1t * x_1 + b_nt * x_n)) где s, например, функция "sigmoid", так что эта странная функция хорошо соответствует вашим выборкам.

Мотивация предположительно биологическая.«Алгоритм обучения» состоит в последовательной корректировке значений a_i, b_ij, приведенных выше, чтобы значения результирующей функции в точках выборки p приближались «в среднем» к f (p) посредством некоторого варианта наискорейшего спуска, который,утверждается, имеет хорошее поведение в некоторых случаях.NN были окружены большим количеством ажиотажа в 90-х годах, но, учитывая его реальную цель, состоящую в том, чтобы аппроксимировать неизвестную функцию, основанную на ее выборках (в противоположность рекламируемой цели, которая заключалась в «имитации человеческого мозга» или что-то в этом роде)для той же области было предложено много других схем аппроксимации - например, SVM («машины опорных векторов»), которые имеют более привлекательное обоснование (часто также вводящее в заблуждение, после того, как вы видите черную магию поиска «правильного ядра» дляработа в исследовательских статьях).

Дело, однако, в том, что, пока вы выбираете правильные «функции» для работы (то есть находите хороший способ перевести ваши музыкальные образцы в точки в 100-мерном,векторное пространство), так что точки жанра X будут лежать «близко» к другим точкам жанра X, а точки жанра Y будут лежать «близко» к точкам жанра Y, а точки жанра X будут лежать далекокроме точек жанра Y, вы можете использовать NN, SVM, деревья решений или все, что вы хотели бы разделитьели жанры (точность и эффективность могут отличаться).Суть в том, чтобы найти правильный набор функций - по крайней мере, если мы понимаем ИИ в этом смысле (но если бы это был единственный смысл, я думаю, что IBM Watson был бы невозможен ..)

0 голосов
/ 23 апреля 2012

http://www.heatonresearch.com/encog Здесь я узнал все об алгоритмах ИИ, относящихся к нейронным сетям.Этот API - очень хороший способ узнать, что вам нужно, чтобы понять, что происходит.С тех пор я создал для себя API, который часто использую при моделировании выбора Boid.Не совсем необходимо, но это работает.

...