Искусственный вопрос о нейронной сети

Как я могу получить путь к файлу из этого типа URI контента?

У вас нет, так как нет никакого файла вообще за Uri, не говоря уже о том, к которому вы можете получить доступ. Это Uri может указывать на:

  • Локальный файл на внешнем хранилище
  • Локальный файл на внутренней памяти для другого приложения
  • Локальный файл на съемном носителе
  • Локальный файл, который зашифрован и должен быть дешифрован на лету
  • Поток байтов, хранящихся в столбце BLOB в базе данных
  • Часть содержимого, которое должно быть загружено другим приложением первым
  • ... и т. д.

Все другие приложения, такие как Facebook, Google+ это делает

Нет, это не так. Они используют ContentResolver и:

  • openInputStream() для чтения в байтах, связанных с содержимым
  • getType(), чтобы получить тип MIME, связанный с содержимым
  • query() и OpenableColumns, чтобы получить размер и отображаемое имя, связанные с контентом
18
задан bias 19 July 2009 в 05:11
поделиться

5 ответов

Существует очень хорошо известный результат в машинном обучении, которое указывает, что единственного скрытого слоя достаточно для приближения любой гладкой, ограниченной функции (бумагу назвали "Многослойные feedforward сети, универсальный approximators" , и этому теперь почти 20 лет). Существует несколько вещей отметить, как бы то ни было.

  • единственный скрытый слой, возможно, должен быть произвольно широким.
  • Это ничего не говорит о простоте, с которой может быть найдено приближение; в общих больших сетях тверды обучаться правильно и пасть жертвой сверхустановки вполне часто (исключение так называемые "сверточные нейронные сети", которые действительно только предназначены для проблем со зрением).
  • Это также ничего не говорит об эффективности представления. Некоторые функции требуют экспоненциальных чисел скрытых единиц, если сделано с одним слоем, но масштабируются намного более приятно с большим количеством слоев (для большего количества обсуждения этого чтения Алгоритмы Изучения Масштабирования К AI)

, проблема с глубокими нейронными сетями состоит в том, что их еще более трудно обучить. Вы заканчиваете с очень очень маленькими градиентами, являющимися backpropagated к более ранним скрытым слоям и изучению, не действительно идущему где угодно, особенно если веса инициализируются, чтобы быть маленькими (при инициализации их, чтобы быть большей величины, Вы часто застреваете в плохих локальных минимумах). Существуют некоторые методы для "предварительного обучения" как те обсужденные в этом технический разговор о Google Geoff Hinton, которые пытаются обойти это.

21
ответ дан 30 November 2019 в 07:18
поделиться

Это - очень интересный вопрос, но не настолько легко ответить. Это зависит от проблемы, которую Вы пытаетесь разрешить и какую нейронную сеть Вы пытаетесь использовать. Существует несколько типов нейронной сети.

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

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

Вот почему существует столько типов нейронных сетей. Они пытаются разрешить различные типы проблем. Таким образом, у Вас есть NN, чтобы разрешить статические проблемы, разрешить связанные со временем проблемы и так один. Количество узлов не так важно как дизайн их.

8
ответ дан 30 November 2019 в 07:18
поделиться

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

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

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

5
ответ дан 30 November 2019 в 07:18
поделиться

Очень грубые эмпирические правила

обычно больше элементов на слой для больших входных векторов.

[еще 112] слои могут позволить Вам модель больше нелинейных систем.

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

уровни More позволяет Вам вставить текущие функции. Это может быть очень полезно для задач дискриминации. Вы реализация ANN мои не разрешают это.

HTH

3
ответ дан 30 November 2019 в 07:18
поделиться

Количество единиц на скрытый слой составляет потенциал ANN для описания произвольно комплексной функции. Некоторые (сложные) функции могут потребовать многих скрытых узлов или возможно больше чем одного скрытого слоя.

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

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

1
ответ дан 30 November 2019 в 07:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: