When looking at the performance, it doesn't seem like the LSTM adds very much compared to simpler multi-layer perceptrons. I wonder if that is because temporal information isn't very useful or because the LSTM wasn't capable of learning some of the more complicated temporal patterns.
I would love to play around with the data, unfortunately, I assume it's private (for good reason) due to potentially sensitive patient data.
If anyone is interested in related methods for time series, I just put up code for our recent action segmentation paper using Temporal Convolutional Networks (https://github.com/colincsl/TemporalConvolutionalNetworks). I would be very interested in trying this model on the ICU data. In my experience, TCNs are much better at learning complex temporal pattern than LSTMs.
That's true, according to the paper improvement over MLP is negligible. It looks like the model is very small and that might be a reason for relatively low performance.
The performance of multilayer perceptrons and linear models is significant. The paper additionally allows the MLP and linear models to "cheat" by giving them heavily hand-engineered features incorporating extensive prior knowledge. Even with this benefit, the LSTM outperforms the baselines, but the improvement is considerably smaller.
For those interested in learning vision from a machine learning perspective I would suggest "Computer Vision: Models, Learning, and Inference" [1]. Szelinski's book is also great but gives a more classical overview of computer vision.
They are implying that medical devices are notoriously bad at being proprietary/closed. Hospitals would be much better off if the devices could talk to each other but it isn't feasible as-is because device manufacturers want lock-in. The current situation leads to issues like alarm fatigue where nurses effectively ignore problems due to too many devices. If they were centralized then there could be one management system that intelligently alerts the nurse of any issues.
I used to (almost) exclusively use Python and didn't like that I had to go bath and forth with Cython to make my models fast. Earlier this year I ported some of my code to Julia and feel more productive because of it. I feel like it's easier for me to implement new non-trivial improvements to my models than it was before.
For what it's worth I still stick with Python for computer vision applications. I mostly use Julia for timeseries models (e.g. Semi Markov CRFs) where it's harder to vectorize everything.
If I were restart again I'm not sure if I would suggest going the Julia route. I know there are alternatives like Numba that enable you write efficient code with minimal effort. Overall I like Julia as a language but there are a lot of little issues due to it being a new language.
PyQt is very much usable. It's GPL3 but if you're using it in commercial projects, you shouldn't just pinch your nose because you have to get a commercial license.
I'm not sure I'd pinch my nose over the cost of PyQt, but the cost of PyQt is pretty negligible.
The problem is the cost of Qt itself for commercial development - unless I'm misreading the Qt website I might choke and drown on the cost of a developer license for Qt ("1x Qt for Application Development ($350/Interval)") and (" This subscription is automatically invoiced at 1 months Intervals").
Maybe it's badly-written English confusing me, but that (and other info on their site) sounds suspiciously like "Developing commercially for Qt and being able to do maintenance releases requires a $350/month developer license." Oh, and their licensing FAQ specifically says that you CANNOT start on the LGPL version and change to the commercial license without prior permission from them.
Maybe it's just me, but if I'm going to be expected to spend $4200/year/developer (or "contact us" for a perpetual agreement), maybe I'd be better off spending a little money first checking out the other alternatives.
> PyQt is very much usable. It's GPL3 but if you're using it in commercial projects, you shouldn't just pinch your nose because you have to get a commercial license.
But I do and thousands of other people do as well. Today, the value-add is somewhere else, not in language bindings for GUI toolkits.
No offense to whatever it is you work on, but if you are a commercial project and:
- Can't comply with GPL3 and make your code compatible with the license
- Can't afford to pay for a commercial license
- Can't use a different language, such as C++, which has alternate offers
Then the problem is on your side, because either your business model is wrong or you're simply being cheap. You're not entitled to a free GUI toolkit for no good reason.
For 350 GBP (=500 EUR), you can have Intellij Idea.
When you ask your boss for a budget for Nx500 (N=number of developers), it is a huge difference, if you ask that for language bindings for GUI toolkit, or IDE.
The language and GUI toolkits are both free, the glue between them is not, and that damages them both. How many commercial PyQt apps have you seen in the wild?
Exactly.
Imagine, if someone asked money for XAML for C#... or for JavaFX. What it would do with their adaptation in projects?
Yeah, activity picked up a week or two ago; someone has done most of the legwork to get the bindings auto-generated, and now there's the clean up to do.
That's very nice to hear. I was seriously beginning to fear that PySide was dead in the water.
I'd love to have a decent GUI toolkit for Python I could use with Apache or MIT code (without having to isolate the GPL bits), but I was nervous about being stuck on Qt4, so I was never terribly sure about PySide.
You're right that the video looks very impressive. However, I'm hesitant to believe that this actually works as well as one might perceive. In this area (called semantic segmentation in the computer vision world) it is common for a people to highlight both the good cases (where the labels/segmentation are correct) and the bad cases (where they are incorrect). In the MS video they only show the good. It's easy to cherry-pick examples where it works -- even if the overall accuracy is very low.
Furthermore, I don't know which dataset they're using. Perhaps it only works on a small set of objects such as those shown in the video.
I don't mean to knock their results but it will still take time to get this to work on a more broad set of videos.
I've only been watching from the Deep Learning sidelines -- but I believe people have steered away from pretraining over the past year or two. I think on practical datasets it doesn't seem to help.
As a robotics/computer vision researcher I disagree with you. The first Kinect was a godsend for robotics - previously it cost thousands of dollars for similar types of sensors. Typically we just want the raw data so that we can do whatever processing we want. It was nice because it worked on Mac/Linux/Windows without too much hassle. The new Kinect on the other hand is of little use to me right now. It's locked down on Windows - and as far as I know you need the special dev kit version for it to even work.
Also, a "cheap camcorder" is nothing compared to this. The Kinect is a 3D sensor. You would need 2 "cheap camcorders," stereo vision algorithms/hardware to process it in real-time, and even then the quality typically wouldn't be as good as the Kinect.
Tangentially, it's also disheartening (at least for the time being) that Apple recently bought Primesense - the maker of the original Kinect. Primesense was selling a better 3D sensor for developers/researchers. Apple shut it down as soon as they bought them.
Have you tried the Asus depth camera? I work with motion capture apps and 3D scanning, and in both areas developers are pushing it as a decent if not spectacular replacement for the Primesense camera.
The Asus Xtion cameras have been out of production for some time. At the last place I worked, we bought like 30 of them as well as their successors that PrimeSense sold directly before Apple bought them.
In Europe you typically need a masters degree before you start a PhD program. In the US you don't - you can think of it as a 2+3 type program where you spend the first couple of years taking classes (and getting your masters) and the next three doing your thesis.
I would love to play around with the data, unfortunately, I assume it's private (for good reason) due to potentially sensitive patient data.
If anyone is interested in related methods for time series, I just put up code for our recent action segmentation paper using Temporal Convolutional Networks (https://github.com/colincsl/TemporalConvolutionalNetworks). I would be very interested in trying this model on the ICU data. In my experience, TCNs are much better at learning complex temporal pattern than LSTMs.