2016-08-11 2 views
-2

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

+1

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

+0

@Igaud я действительно сделал некоторое исследование. Я хотел бы знать способ нормализации входных данных алгоритмом или библиотекой, чтобы он мог быть введен в нейронную сеть и как сохранить обученную нейронную сеть и загрузить ее снова. – jee1tha

ответ

0

Вы смотрели в TensorFlow с открытым исходным кодом нейронной сети библиотека Google? They support recurrent neural networks, что и похоже на то, что вы описываете.

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

EDIT (подробнее о сборке нейронных сетей):

См here Подробные сведения о печати/сохранения веса и уклоны от TensorFlow (я недавно отправил вопрос на эту тему, и получил полезный ответ). Что касается моделирования сети в Java, вот некоторая неполная питон код, который я написал для сети опережающего (единовременный), которые можно «перевести» в Java и настроить для собственных нужд:

import numpy as np 

#I copied this function from an answer here: 
#https://stackoverflow.com/questions/34968722/softmax-function-python 
def softmax(values): 
    values = [x for x in values] 
    return np.exp(values)/np.sum(np.exp(values), 0) 

def rectify(ls): 
values = ls 
for i in range(len(values)): 
    values[i] = values[i] * (values[i] > 0) 
return values 

class Neuron: 
def __init__(self, weights, bias): 
    self.weights = weights 
    self.bias = bias 
def compute(self, inputs): 
    sum = self.bias 
    for i in range(len(inputs)): 
     sum += self.weights[i] * inputs[i] 
    return sum 

class Layer: 
def __init__(self, weightSets, biases): 
    self.neurons = [] 
    for i in range(len(weightSets)): 
     neuron = Neuron(weightSets[i], biases[i]) 
     self.neurons.append(neuron) 
def compute(self, inputs): 
    outputs = [] 
    for neuron in self.neurons: 
     outputs.append(neuron.compute(inputs)) 
    return outputs 

def networkCompute(inputs): 
global layer1, layer2, layer3 
v = rectify(layer1.compute(inputs)) 
v = rectify(layer2.compute(v)) 
return softmax(layer3.compute(v)) 
+0

если я собираюсь построить нейронную сеть с нуля, не могли бы вы предоставить мне что-то, что связано с сохранением обученного NN, загрузкой обученного NN и использованием нейронной сети? – jee1tha

Смежные вопросы