Answers.Body: <p>You <strong>cannot</strong> train a neural network without training data. It would be like training a football player without making him/her play/watch football or anything that resembles football: it's simply not possible. The definition of training/learning in machine learning strictly requires data.</p>
  <p>You can train a neural network in different ways (e.g. supervised or unsupervised) and with different types of data (e.g. labelled or unlabelled, respectively), but this is a different story. In reinforcement learning, you also have training data, but the data may not be given to the neural network in the same way that it's given e.g. in supervised learning. Still, this does not mean that there is no training data. Of course, there is or must be (by definition)!</p>
  <p>However, note that you can use a (e.g. randomly initialised) neural network without training it, but it would probably be a useless neural network. You could also use a neural network that has been trained by someone else with data that you may not have access to anymore (and maybe that answers your question in the title).</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-07-07T22:36:52.083Z
Answers.Text: I am wrong. In fact, I am supposed to say that some people train NN with only input data, but without output data.
Answers.UserDisplayName: Jianqiao Huang
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-07-08T00:10:12.120Z
Answers.Text: @JianqiaoHuang Yes, that's known as _unsupervised learning_.
Answers.UserDisplayName: nbro
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-07-05T00:51:44.897Z
Answers.LastActivityDate: 2021-07-05T00:57:38.897Z
Answers.LastEditDate: 2021-07-05T00:57:38.897Z
Answers.UserDisplayName: nbro
Answers.Body: <p>In case the question is if NNs can be <strong>trained</strong> without data, as pointed by others, the answer is negative - any training by definition involves the use of data in some way - supervised, semi-supervised, reward, etc.</p>
  <p>However, if the question is whether one can obtain something useful I would think about the following use cases:</p>
  <ol>
  <li>One can use randomly initialized networks as a random map. The application of this seems to be rather specific, but maybe there are some applications of this.</li>
  <li>One can add certain evolution to the weights like in the statistical physics system of form:
  <span class="math-container">$$
  w_{n+1} - w_n = f(w)
  $$</span>
  Where <span class="math-container">$f(w)$</span> can be deterministic or non-deterministic. It is not actually a neural network, but a related concept - <a href="https://en.wikipedia.org/wiki/Boltzmann_machine" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Boltzmann_machine</a>.</li>
  </ol>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-07-06T02:00:24.587Z
Answers.LastActivityDate: 2021-07-06T12:50:31.590Z
Answers.LastEditDate: 2021-07-06T12:50:31.590Z
Answers.UserDisplayName: spiridon_the_sun_rotator
Answers.Body: <p>Neural networks are trained by using pairs of example input/output vectors that they learn to associate and can generalise from. In that sense, they <em>always</em> need training data.</p>
  <p>For supervised learning, a neural network (NN) is trained on a dataset of example inputs and outputs (aka &quot;a labelled dataset&quot;) that the user must provide somehow.</p>
  <p>There are scenarios involving neural networks that do not require the user to possess a labelled dataset, or even any dataset at all, but they all have some restriction:</p>
  <ul>
  <li><p>The NN is already trained, and is now being used to make predictions. You do not need to have access to the original dataset to use a trained NN, although you do need access to some inputs that are of the same type that the network was trained on. The restriction here is that the NN cannot be trained further.</p>
  </li>
  <li><p>Semi-supervised learning: In some cases, the desired outputs can be generated automatically from the inputs (they may even be same as the inputs). You still need a dataset of inputs, but may be spared the hard work of adding labels, making it a lot easier to collect a dataset. The restriction here is that this is for specific use cases, such as Generative Adversarial Networks, and is not an approach you can use in general.</p>
  </li>
  <li><p>Reinforcement learning (RL). The labelled data for RL are generated through a trial and error process, and do not need to be provided separately by the user. However, the user does need to write the RL code for the environment to allow this data generation to happen. Internally in systems like Deep Q Networks (DQN), the training process looks a lot like supervised learning.</p>
  </li>
  </ul>
  <p>Both RL and semi-supervised learning are special cases of auto-generation of datasets, where the NN is being used to learn a complex function that can be calculated in some other way. As well as the semi-supervised and reinforcement learning cases, NNs have successfully been applied to fluid dynamics and ray tracing problems in this way, where the CPU cost for full calculation is even higher than using a neural network. These scenarios don't require you to possess a labelled dataset before training starts, but do require effort in developing something that generates input/output pairs.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-07-07T22:52:33.760Z
Answers.Text: You're right. My question should be "Is it possible to train a NN with only input? But this NN can predict output after the training process is done". Is there any easy to learn reference, website or hands on experiment on training NN with only input?
Answers.UserDisplayName: Jianqiao Huang
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-05-18T02:24:21.827Z
Answers.Text: @JianqiaoHuang "Training a neural network with only one input" would be [one-shot learning](https://en.wikipedia.org/wiki/One-shot_learning).
Answers.UserDisplayName: Anderson Green
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-07-05T07:53:53.397Z
Answers.LastActivityDate: 2021-07-05T09:56:13.630Z
Answers.LastEditDate: 2021-07-05T09:56:13.630Z
Answers.UserDisplayName: Neil Slater
Body: <p>It seems that neural networks (NNs) can be applied to supervised learning, unsupervised learning and reinforcement learning. Some people even train neural networks without the set of training data. If NNs are used in reinforcement learning, is it possible that we don't need training data?</p>
  
Tags: <neural-networks><machine-learning><reinforcement-learning><training-datasets>
Title: Can people use neural networks without providing the set of training data?
UserDisplayName: Jianqiao Huang
ThreadText: # Can people use neural networks without providing the set of training data?
  
  (Asked by: username_0 on 2021-07-04)
  
  It seems that neural networks (NNs) can be applied to supervised learning, unsupervised learning and reinforcement learning. Some people even train neural networks without the set of training data. If NNs are used in reinforcement learning, is it possible that we don't need training data?
  
  **Tags:** neural-networks, machine-learning, reinforcement-learning, training-datasets
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_3 on 2021-07-05. Score: 2 | Accepted answer
  
  Neural networks are trained by using pairs of example input/output vectors that they learn to associate and can generalise from. In that sense, they *always* need training data.
  
  For supervised learning, a neural network (NN) is trained on a dataset of example inputs and outputs (aka "a labelled dataset") that the user must provide somehow.
  
  There are scenarios involving neural networks that do not require the user to possess a labelled dataset, or even any dataset at all, but they all have some restriction:
  
  * The NN is already trained, and is now being used to make predictions. You do not need to have access to the original dataset to use a trained NN, although you do need access to some inputs that are of the same type that the network was trained on. The restriction here is that the NN cannot be trained further.
  * Semi-supervised learning: In some cases, the desired outputs can be generated automatically from the inputs (they may even be same as the inputs). You still need a dataset of inputs, but may be spared the hard work of adding labels, making it a lot easier to collect a dataset. The restriction here is that this is for specific use cases, such as Generative Adversarial Networks, and is not an approach you can use in general.
  * Reinforcement learning (RL). The labelled data for RL are generated through a trial and error process, and do not need to be provided separately by the user. However, the user does need to write the RL code for the environment to allow this data generation to happen. Internally in systems like Deep Q Networks (DQN), the training process looks a lot like supervised learning.
  
  Both RL and semi-supervised learning are special cases of auto-generation of datasets, where the NN is being used to learn a complex function that can be calculated in some other way. As well as the semi-supervised and reinforcement learning cases, NNs have successfully been applied to fluid dynamics and ray tracing problems in this way, where the CPU cost for full calculation is even higher than using a neural network. These scenarios don't require you to possess a labelled dataset before training starts, but do require effort in developing something that generates input/output pairs.
  
  > **Comments:**
  > **username_0**: You're right. My question should be "Is it possible to train a NN with only input? But this NN can predict output after the training process is done". Is there any easy to learn reference, website or hands on experiment on training NN with only input?  
  > **username_4**: @username_0 "Training a neural network with only one input" would be [one-shot learning](https://en.wikipedia.org/wiki/One-shot_learning).  
  
  ---
  
  ### Answer by username_1 on 2021-07-05. Score: 5
  
  You **cannot** train a neural network without training data. It would be like training a football player without making him/her play/watch football or anything that resembles football: it's simply not possible. The definition of training/learning in machine learning strictly requires data.
  
  You can train a neural network in different ways (e.g. supervised or unsupervised) and with different types of data (e.g. labelled or unlabelled, respectively), but this is a different story. In reinforcement learning, you also have training data, but the data may not be given to the neural network in the same way that it's given e.g. in supervised learning. Still, this does not mean that there is no training data. Of course, there is or must be (by definition)!
  
  However, note that you can use a (e.g. randomly initialised) neural network without training it, but it would probably be a useless neural network. You could also use a neural network that has been trained by someone else with data that you may not have access to anymore (and maybe that answers your question in the title).
  
  > **Comments:**
  > **username_0**: I am wrong. In fact, I am supposed to say that some people train NN with only input data, but without output data.  
  > **username_1**: @username_0 Yes, that's known as _unsupervised learning_.  
  
  ---
  
  ### Answer by username_2 on 2021-07-06. Score: 1
  
  In case the question is if NNs can be **trained** without data, as pointed by others, the answer is negative - any training by definition involves the use of data in some way - supervised, semi-supervised, reward, etc.
  
  However, if the question is whether one can obtain something useful I would think about the following use cases:
  
  1. One can use randomly initialized networks as a random map. The application of this seems to be rather specific, but maybe there are some applications of this.
  2. One can add certain evolution to the weights like in the statistical physics system of form:
     $$
     w\_{n+1} - w\_n = f(w)
     $$
     Where $f(w)$ can be deterministic or non-deterministic. It is not actually a neural network, but a related concept - <https://en.wikipedia.org/wiki/Boltzmann_machine>.
  
  
  ---
  
  