I want to solve a medical-imaging related problem by doing transfer learning with a CNN. My main issue is that I have repeated measurements for the subjects under different conditions, so I would like my network to be aware of these conditions as well. How can I do Transfer Learning with a pretrained network such as the VGG-16, but then add other static variables to the network and retrain everything? I would appreciate some hints, any example on the web, ... I'ts been quite a long time that I'm stuck with this.
Thank you very much,
Related
Im currently trying to adapt Multitask to pretrained CNN's. From what i gathered, i have to change the Last layer of the Net and change the Loss function, so all routes benefit from it. I have 3 tasks to all of them are multiclass-classifications. I code all of that in Pytorch. I wanted to try Hard parameter sharing for i go for Soft.
I tried to find concrete examples but i did not find any, do you have any guides or tips how to solve that problem?
I have a Neural Network with five inputs for a classification task. Two inputs out of those five are very important and have a direct relationship to the classification task. Therefore, I need to prioritize those two inputs within the network and give less priority to the other three. Is there a way in the neural network to facilitate my requirement?
If training works well, the NN should automatically pick up what's most important for your classification. That's the entire point of a NN (or ML in general); so that you don't have to manually tell it what's more important and what's not. After learning, you can verify that the model indeed does learn the correct order of importance between the features.
You can use any model explanation technique for this. ELI5, SHAP or LIME are some examples. All these will tell you if your model did indeed learn that the features that you know are important is actually important to the network.
You probably shouldn't try to manually incorporate such biases into the network (unless you have a very good reason for doing so, like incorporating spatial information of images via CNNs). Trust the learning xD
The primary objective (my assigned work) is to do an image segmentation for the underwater images using a convolutional neural network. The camera shots taken from the underwater structure will have poor image quality due to severe noise and bad light exposure. In order to achieve higher classification accuracy, I want to do an automatic image enhancement for the images (see the attached file). So, I want to know, which CNN architecture will be best to do both tasks. Please kindly suggest any possible solutions to achieve the objective.
What do you need to segment? I'd be nice so see some labels of the segmentation.
You may not need to enhance the image, if all your dataset has that same amount of noise, the network will generalize properly.
Regarding CNNs architectures, it depends on the constraints you have with processing power and accuracy. If that is not a constrain go with something like MaskRCNN, check that repo as a good starting point, some results are like this:
Be mindful it's a bit of a complex architecture so inference times might be a bit too high (but it's doable on realtime depending your gpu).
Other simple architectures are FCN (Fully Convolutional Networks) with are basically your CNN but instead of fully connected layers:
You replace with with Fully Convolutional Layers:
Images taken from HERE.
The advantage of this FCNs are that they are really easy to implement and modify since you can go with simple architectures (FCN-Alexnet), to more complex and more accurate ones (FCN-VGG, FCN-Resnet).
Also, I think you don't mention framework, there are many to choose from and it depends on your familiarly with languages, most of them you can do them with python:
TensorFlow
Pytorch
MXNet
But if you are a beginner, try starting with a GUI based one, Nvidia Digits is a great starting point and really easy to configure, it's based on Caffe so it's fairly fast when deploying and can easily be integrated with accelerators like TensorRT.
I have a dataset where lot of names are written like man1sh instead of manish, vikas as v1kas.
How can one correct these names in nlp?
Any help is appreciated.
Try the Deep Neural Network based spell correction https://medium.com/#majortal/deep-spelling-9ffef96a24f6 this method is the state of the art method at the moment. Here is the code https://github.com/MajorTal/DeepSpell and some one already made an improvement over it https://hackernoon.com/improving-deepspell-code-bdaab1c5fb7e.I am not able to find the paper but there is also a paper published that does character level deep neural network for edit distance with good results and a public dataset.
For the above methods, like for all Machine Learning solutions, you need data for training. If you don't have data for your case then the old simple edit distance methods http://norvig.com/spell-correct.html are the only way.
Hi I have a program whose task is to classify between images of cats and dogs. My algorithm does not learn and does not improve its accuracy. Any ideas on how to increase the accuracy in convolutional neural network(I dont know how to share jupyter file ).
Any general ways to improve the algorithm will help
Well this question leaves a lot to the imagination, and therefore I can already assume that you tried to make a small neural network yourself.
1) Did you use convolutional layers?
2) Did you try transfer learning? (InceptionV3, Vgg16, Xception,...)
3) Do you have enough data? 1000 images a class approximately
Maybe this site can be useful to understand certain things:
http://cs231n.github.io/convolutional-networks/
If I did not help you at all, then please rephrase your question :)