TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

What does a neural network actually do?

151 pointsby zercoolalmost 11 years ago

9 comments

dlsymalmost 11 years ago
&quot;What does a neural network actually do?&quot;<p>This is a fundamental Question: Can we really say and predict what a neural network does?<p>Contrary to an engineered &#x2F; constructed algorithm a neural network is &#x27;trained&#x27;.<p>Whenever we will present a &#x27;known&#x27; input pattern it will reposnd with a &#x27;learned&#x27; response.<p>This however introduces interesting problems: How can we _debug_ a neural network? How can we debug a correlation? Sure we can tune its paramters, we can train it some more to again show the desired response. But reaching this point we just abandoned knowing how the intrinsic algorithm works in favor to just focussing on the result.<p>Okay - now if we follow this argument - this would lead to: If we simulate the whole brain by simulating the neural network, we won&#x27;t gain any knowlege about the intrinsic workings of the brain. We won&#x27;t find any enlightenment about the innermost algorithm _represented_ by the neural network we call our brain.
评论 #7798288 未加载
评论 #7798202 未加载
csensealmost 11 years ago
I&#x27;ve found that, in practice, traditional neural networks tend to be prone to overfitting and are finicky about their parameters (in particular the topology and number of nodes you choose).<p>I use the word &quot;traditional&quot; to describe the NN architecture discussed in the article. Recent NN research has been promising [1], but this article strictly discusses traditional NN&#x27;s. I don&#x27;t really have much experience with the newer NN algorithms, so I&#x27;m not sure to what extent they suffer from the same problems as traditional NN&#x27;s.<p>[1] <a href="http://en.wikipedia.org/wiki/Neural_network#Recent_improvements" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Neural_network#Recent_improveme...</a>
评论 #7797909 未加载
评论 #7797808 未加载
nullcalmost 11 years ago
Another limit they don&#x27;t address is that the training normally used is purely local— just a gradient descent. So even when the network can model your function well, there is no guarantee that it will find the solution.<p>For me ANN&#x27;s always seem to get stuck on not very helpful local minima— they&#x27;re not one of the first tools in my bags of tricks by far.<p>Often I associate them as being the sort of thing that someone who doesn&#x27;t really know what they&#x27;re talking about talks about. (Esp. if its clear that in their minds NN have magical powers. :) maybe they&#x27;ll also mention something about &quot;genetic algorithms&quot;)
评论 #7799188 未加载
评论 #7798899 未加载
oldspicemanalmost 11 years ago
A less mathy explanation with some real examples: <a href="http://neuralnetworksanddeeplearning.com/chap1.html" rel="nofollow">http:&#x2F;&#x2F;neuralnetworksanddeeplearning.com&#x2F;chap1.html</a><p>Coding a digit recognizer using a neural network is an extremely rewarding exercise and there&#x27;s a lot of help on the web to get you started.
评论 #7798278 未加载
robert_tweedalmost 11 years ago
This is a pretty good article, but I&#x27;m seeing a lot of confusion in this thread because the article is maybe one step ahead of the basic intuition needed to understand why ANNs are not magical and are not artificial intelligence (at least not feed-forward networks).<p>Perhaps a simpler way to look at it is to understand that a feed-forward ANN is basically just a really fancy transformation matrix.<p>OK, so unless you know linear algebra, you&#x27;re probably now asking what&#x27;s a transformation matrix? Without the full explanation, the important understanding is why they are so important in 3D graphics: they can perform essentially arbitrary operations (translation, rotation, scaling) on points&#x2F;vectors. Once you have set up your matrix, it will dutifully perform the same transformations on every point&#x2F;vector you give it. In graphics programming, we use 4x4 matrices to perform these transformations on 3D points (vertices) but the same principle works in any number of dimensions - you just need a matrix that is one bigger than the number of dimensions in your data*.<p>Edit: For NNs the matrices don&#x27;t always have to be square. For instance you might want your output space to have far fewer dimensions that your input. If you want a simple yes&#x2F;no decision then your output space is one-dimensional. The only reason the matrices are square in 3D graphics is because the vertices are always 3-dimensional.<p>What a neural network does is take a bunch of &quot;points&quot; (the input data) in some arbitrary, high number of dimensions and performs the same transformation on all of them, so as to distort that space. The reason it does this is so that the points go from being some complex intertwining that might appear random or intractable, into something where the points are linearly separable: i.e., we can now draw a series of planes in between the data that segments it into the classifications we care about.<p>The only difference between a transformation matrix and a neural network is that a neural network has at least two layers. In other words, it is two (or more) transformation matrices bolted together. For reasons that are a bit too complex to get into here, allows an NN to perform more complex transformations than a single matrix can. In fact, it turns out that an arbitrarily large NN can perform any polynomial-based transformation on the data.<p>The reason this is often seen as somewhat magic is that although you can tell what transformations a neural network is doing in trivial cases, NNs are generally used where the number of dimensions is so large that reasoning about what it is doing is difficult. Different training methods can give wildly different networks that seemingly give much the same results, or fairly similar networks that give wildly different results. How easy it is to understand the various convolutions that are taking place rather depends on what the input data represents. In the case of computer vision it can be quite easy to visualise the features that each neuron in the hidden layer is looking for. In cases where the data is more arbitrary, it can be much harder to reason about, so if your training algorithm isn&#x27;t performing as you&#x27;d like, it can be difficult to understand why it isn&#x27;t working, even if you already understand that the basic principle of a feed-forward network is just a bunch of simple algebra.
评论 #7799251 未加载
评论 #7798807 未加载
评论 #7799449 未加载
neuralnetalmost 11 years ago
<a href="http://www.dkriesel.com/en/science/neural_networks" rel="nofollow">http:&#x2F;&#x2F;www.dkriesel.com&#x2F;en&#x2F;science&#x2F;neural_networks</a> about 200 page bilingual ebook about neural networks containing lots of illustrations, in case some guys of you want to read further. There&#x27;s also a nice java framework to try out for the coders.
thegeomasteralmost 11 years ago
Looks like an interesting text, but to be honest I didn&#x27;t understand a substantial portion of it.
评论 #7797865 未加载
nsxwolfalmost 11 years ago
Title made me think it would be something for beginners. Either it is not or I am very dim.
ctdaviesalmost 11 years ago
They write comments on HN.
评论 #7797801 未加载