New answers tagged

0

segmentation mainly uses Fully Convolutional Network(FCN) architecture. FCN is a CNN without fully connected layers(FC). segmenation can be thought as an encoder followed by a decoder. Here encoder and decoder is FCN. classification using CNN is a set of convolutional layers(extract high level features of input image) followed by one or more fully connected(...


0

Any type of data that contain personal information of individuals need to be anonymized. We should anonymize data if it has exposure to following disclosure risks: Identity disclosure occurs if an intruder is able to associate a record of the released dataset with the individual it describes. Attribute disclosure occurs if an intruder is able to infer the ...


3

This is a massive question. There are two basic approaches, with the key difference being the search algorithm. The first approach, currently used by the world's strongest engine Stockfish, involves minimax as the search algorithm. It then calls the NNUE to evaluate the position at the end of the search tree. The minimax algorithm involves a lot of human ...


1

Talking of Deep Learning specifically, you will see a lot of research papers that report the following metrics to compare time complexity (Speed of inference) and space complexity (Model size) in their papers - Time complexity in terms of FLOPs (floating-point operations) - FLOPs are often used to describe how many operations are required to run a single ...


1

AlphaZero algorithm was implemented in Leela Chess Zero and was actually one of the leaders at least before Stockfish implemented its own NN assistant algorithm. Here: https://en.wikipedia.org/wiki/Leela_Chess_Zero NNs: https://training.lczero.org/networks/?show_all=0 Code: https://github.com/LeelaChessZero/lc0/releases It has distributive learning on Nvidia ...


1

I would recommend a classical AI approach. I suggest you implement a Minimax with depth limiting or A* with depth limiting. In these scenarios, you basically rebuild the game tree and try all moves and observe what happens ("OK, if I move this here, I gain advantage, if I move this there, I gain more advantage, etc....") If you are dead set on ...


5

I'm not an expert in the field, but I want to draw your attention to reinforcement learning (which is also mentioned in the Wikipedia article on AlphaZero). The book "Reinforcement Learning: An Introduction" (Richard S. Sutton and Andrew G. Barto) is a good starting point. Seems to be kind of "the bible" for starting with reinforcement ...


0

I'm late to the party but for anyone reading this in the future: SQLAlchemy is a great way to handle any SQL interfaces. Just create a model class that matches your DB schema, then use the query API to get your data. If you have very large datasets, you can use use yield_per or slice to easily retrieve it in chunks, as de


0

I want to answer this question with respect to my experience with scientific papers. The point is that when practitioners try to make new ideas, they should have ablation study in their work. This means that they should satisfy the readers and the reviewers that the claimed improvements are real. They should concentrate on the novelty of their work. This ...


1

Deep learning is primarily an empirical field, best practices are found through trial and error. Since you are exploring relatively few hyperparameter combinations, they can be compared using grid-search cross-validation.


1

Disadvantage of softmax loss is written in Your referenced paper. "ArcFace" (arxiv.org/pdf/1801.07698.pdf) and "Face recognition via centralized coordinate learning" https://arxiv.org/pdf/1801.05678.pdf (1) the size of the linear transformation matrix W ∈ Rd×n increases linearly with the identities number n; there are millions of ...


1

What You are seeking is called 'Edge detection' in CVML fields. In my knowledge, DexiNed is one of best models. See papers in paperswithcode. https://paperswithcode.com/task/edge-detection


0

I found my answer in data pre - processing steps. Finding the growth of spot or stain was the major challenge for the cases where we have already stain. Calculating delta with respect to initial image can clearly show the evidence of growth in stain. So we decided to train the model on the pre-processed data by get relative image and use same for train and ...


0

If you are looking for a simple straight answer with fewer mathematical notations, then you may look into this video. I hope this video is useful to you.


1

Some important points I can bring up are: AI/ML learn (stable) patterns from what they are given. But, if forced, they will find (irrelevant) patterns even in noise. Cannot learn what they did not see. So, generalisation is actually possible only for variations (allowed by the underlying architecture) of what were already seen. AI/ML may discriminate and ...


1

As you are looking for information from reputed resources, Tutorial why produces different results: gives reasoning why simple ML algorithm give better performance and more stable compared to neural network. Paper on industrial recognition tasks: for small amounts of training data, classical classifiers provided better performance to not pre-trained neural ...


2

From your question I assume that you are familiar with at least basic concepts in RL so I won't dive into too many details. RL in general is not SGD. In RL you will encounter various optimization schemes in order to optimize an utility function. Two of the most popular families of methods used for optimizing an utility function (in RL MDP formulation) are ...


1

Reinforcement Learning is not an optimization algorithm (which stochastic gradient descent is). Stochastic Gradient Descent is an optimization algorithm which seeks to minimize a given target/objective function. Reinforcement learning does nothing of that sort. Reinforcement Learning is essentially learning the parameters of a Markov Decision Process (MDP). ...


2

This is more of a programming question than a data science question and would therefore be better suited to the stackoverflow stackexchange. To change the y-axis from a linear scale to a logarithmic scale you can use matplotlib.pyplot.yscale function using "log" as the argument: import matplotlib.pyplot as plt plt.yscale("log")


0

Consider a ordinary linear regression (OLS, omitting index $i$ for convenience) $$y=\beta_0+\beta_1X+u. $$ You can solve this using matrix algebra $\hat{\beta}=(X'X)^{-1}X'y$. Given some data $y,X$, the resulting coefficients $\hat{\beta}$ will always be the same. There is no random element to it as you simply minimize the sum of squared residuals. Now if ...


0

May I suggest setting the random parameters of your ML or DL model to some constant wherever possible and then compare the two models. Also you can use GridSearch to find the best parameters in both cases for your models and you can see what changes do you observe, if your data is that you split for train/test remains the same. When it comes to stability, ...


1

I doubt that this could work: it's not reliable for the customer, since the owners of the machines can switch it off or start playing some video-intensive game whenever they want. in order to make it interesting enough for the owners the price would have to be substantial, otherwise it's not even worth the constraint. So it's very unlikely to be competitive ...


0

That is an empirical question that could be answered through hold-out datasets. Create the different scenarios and see which one the model performs better in.


1

Here are some important considerations while choosing an algorithm. Size of the training data Accuracy and/or Interpretability of the output Speed or Training time Linearity Number of features


1

There could be many reasons for deep learning to have high variance in evaluation metric performance. Here are a couple of ideas: Initialization: Deep learning models are initialized with random parameter values. Different starting parameters could result in final parameter values, especially if there are few epochs. Traditional machine learning might not ...


6

There is a theoretical result called the "no free lunch theorem" which proves that there is no "best ML algorithm" in general. It's important to understand how an algorithm works in order to have a good intuition about whether it's suitable for a case. Without this one can only attempt different methods randomly by trial and error, it ...


0

Additional to the existing answers, the core reasons to leverage Deep Learning as opposed to statistics or more traditional ML techniques are: Scale of data: Deep Learning algorithms work efficiently on high amount of data (both structured and unstructured) and are best suited for unstructured data like images, videos, voice, natural language processing etc....


0

The latest release of CUDA up to this date (cuda_11.5.0_496.13_win10) doesn't seem to provide support for the relatively new Visual Studio 2022. I'm eagerly waiting as well. You can download Visual Studio 2019 from https://visualstudio.microsoft.com/vs/older-downloads/ and that one should work fine.


0

A few thoughts: Always check for overfitting in experiments where the training data is small, especially with a high number of features. If possible try more advance feature selection methods like genetic methods. It's very computationally expensive because it needs to train/evaluate with many subsets of features, but it usually gives better results than ...


0

Assuming the rectangle is as below (easily adjusted if otherwise) Then: The tangent of the angle of rotation is given by $tan(a)=\frac{y_3-y_2}{x_3-x_2}$ Depending on quadrant of interest one can take the opposite coordinates. Getting the inverse tan function gives the angle in radians. The width is given by $w=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}$ Similar ...


0

I think it is a pity that Keras does not comfortably allow class weights on the validation set. However, you can translate class weights to sample weights and plug those into the last element of the tuple: (x_val, y_val, val_sample_weights). In the binary classification example you provided, the translation could be done via: val_sample_weights = val_targets*...


0

Tested it out in practice for my case. Turns out the assumption didn't hold.


1

Would I be able to use BGR images for an RGB-trained network? I think the performance will be much worse than RGB input. Color Permutations as augmentation Paper Rethinking Data Augmentation: Self-Supervision and Self-Distillation: if the augmentation results in large distributional discrepancy among pictures (e.g., rotations), forcing their label ...


0

Proposal-based: Let's look for a car, define its boundary etc. Okay, found a car. Cluster all the pixels belonging to that car. Proposal-free: Let's label each pixel as some uncategorized instance. Based on the results from semantic segmentation, that instance probably belongs to the "Car" category. You can also check the II. Related Work in ...


0

First of all, are you sure you are using a MSE loss? If so, the loss should go hand in hand with your metric (MSE), especially since I see no Masking layer in your network. Plus, the MSE loss is not below zero, that would be impossible anyway. Additionally, the graph you provided does not match the numbers shown above. Does it come from different runs? ...


0

No - the word2vec algorithm assumes the data is a series of discrete symbols. Exchange rates are continuous.


0

I think this issue is caused by the fact that your module has the same name as another package, which is the gym package for reinforcement learning environments. This package is automatically installed in the google colab environment, so when you try to import gym_robot from gym it assumes you want to import it from the existing package instead of your own ...


0

Each row in your dataset is of shape (15552), whereas you are telling your model that the expected input has a shape of (72, 72, 3). Reshape the data before passing it to your model to make sure that the actual input shape and the input shape defined using the input_shape argument are the same. You can reshape the input using numpy.reshape: import numpy as ...


1

Irrespectively of training the model in a more general sense, you are likely checking on your model's far too often to spot any actual performance increase. More specifically, if performance metrics are being printed out every 5 batches for example, you are seeing a performance increase based on just 5 x 4 = 20 data samples which is way too low for a DL ...


1

It seems a couple of things can be done differently. Firstly, it seems you are passing train and label data incorrectly when fitting the model. It should be more like: model.compile(loss='mean_squared_error', optimizer='adam') model.fit(trainX, trainY, epochs=100, batch_size=1, verbose=2) For trainY being your labels, as opposed to passing trainX twice as ...


0

If you are considering each recipe a completely different label, despite potential intersection of ingredients, you should encode your targets into distinct classes as you would normally encode labels e.g.: >>> le = preprocessing.LabelEncoder() >>> le.fit(["paris", "paris", "tokyo", "amsterdam"]) ...


3

I understand that you're looking for a shortcut. You can read about an architecture and produce an implementation that scores well on performance benchmarks. Although performance feels quite rewarding, it is not an indicator that you are doing well or delivering a high-quality model. So what's the use of all the extra struggle? The algorithms and ...


14

You are right that you actually do not need to know the architectures if you just want to apply them. But there are to reasons why it would be good to understand the architecture. Models often do not work off the shelf for your problem. In this case you will have to tune the model parameters etc. in order to apply the model to your problem. So knowledge of ...


1

I assume by "run" you mean training run. Different training runs can have different performances due to many factors: Different random initialization. Different data sampling because of stochastic gradient descent (SGD). Stopping in different local minima. Stopping training before asymptotic performance.


1

You might want to have a look at several ways of scheduling your learning rate decay, instead of manually trying to optimize it. Check this source from Tensorflow documentation. If you for instance use an exponential learning rate decay schedule, the definition for the learning rate decay would be: $$learning rate_0 * (decay rate)^\frac{step}{decay steps}$$ ...


3

One option is curve fitting. Fit a sigmoid function to the data and decide if the quality of fit is below a threshold for goodness of fit.


0

Not directly. Precision is not useful in a loss function. It does provide a clear signal to choose model parameters. Precision can be used as an evaluation metric. In particular, precision on a hold-out dataset (e.g., validation dataset) can be used to pick hyperparameters.


Top 50 recent answers are included