{
  "id": 534257,
  "title": "Data augmentation with generative models",
  "url": "/competitions/digit-recognizer/discussion/534257",
  "author_name": "Latypov Ramil",
  "post_date": "2024-09-15T15:56:20.362000",
  "votes": 1,
  "comment_count": 2,
  "views": null,
  "content": "<p>I tried using a generative model such as conditional GAN to augment the dataset. I used the Wasserstein GAN architecture as basis, which I implemented from scratch. <br>\nI'm not sure that for this task it really gives a significant increase in metrics, but I think someone might find this technique interesting for more complex tasks.</p>\n<p><a href=\"https://www.kaggle.com/code/latypovramil/data-augmentation-using-cgan-pytorch\" target=\"_blank\">Notebook</a></p>\n<p>I think it's worth trying to train more the generative model and work with CNN architectures, or using another approaches with pre-trained model to embeddings and e.g. GBDT models on it. </p>\n<p>Good luck everyone!</p>\n<p>P.s. I will be glad to receive any feedback</p>",
  "messages": [
    {
      "id": 2995898,
      "postDate": "2024-09-22T18:13:42.633Z",
      "content": "<p>With part of score give Data augmentation?</p>",
      "rawMarkdown": "With part of score give Data augmentation?",
      "votes": 1,
      "replies": [
        {
          "id": 2995925,
          "postDate": "2024-09-22T18:56:11.147Z",
          "content": "<p>If you mean how much augmentation has improved the performance of the model, then I can't say an honest assessment. This is an interesting question, as it seems to me it is worth trying the same CNN model on a default train part for fixed N epoches, try use standard data augmentation by torch.transforms and on extended train part (but i am not sure for choose count of epoches. For example if we increase our train part for two times, i think we need to reduce the number of epochs by half - N // 2). </p>\n<p>In any case, the dataset is very simple, and even a simple CNN model from a notebook gives a good result. Rather, I was just interested in such a technique. It is worth checking it for more complex data.</p>",
          "rawMarkdown": "If you mean how much augmentation has improved the performance of the model, then I can't say an honest assessment. This is an interesting question, as it seems to me it is worth trying the same CNN model on a default train part for fixed N epoches, try use standard data augmentation by torch.transforms and on extended train part (but i am not sure for choose count of epoches. For example if we increase our train part for two times, i think we need to reduce the number of epochs by half - N // 2). \n\nIn any case, the dataset is very simple, and even a simple CNN model from a notebook gives a good result. Rather, I was just interested in such a technique. It is worth checking it for more complex data."
        }
      ]
    },
    {
      "id": 2989855,
      "postDate": "2024-09-15T15:56:20.363Z",
      "content": "<p>I tried using a generative model such as conditional GAN to augment the dataset. I used the Wasserstein GAN architecture as basis, which I implemented from scratch. <br>\nI'm not sure that for this task it really gives a significant increase in metrics, but I think someone might find this technique interesting for more complex tasks.</p>\n<p><a href=\"https://www.kaggle.com/code/latypovramil/data-augmentation-using-cgan-pytorch\" target=\"_blank\">Notebook</a></p>\n<p>I think it's worth trying to train more the generative model and work with CNN architectures, or using another approaches with pre-trained model to embeddings and e.g. GBDT models on it. </p>\n<p>Good luck everyone!</p>\n<p>P.s. I will be glad to receive any feedback</p>",
      "rawMarkdown": "I tried using a generative model such as conditional GAN to augment the dataset. I used the Wasserstein GAN architecture as basis, which I implemented from scratch. \nI'm not sure that for this task it really gives a significant increase in metrics, but I think someone might find this technique interesting for more complex tasks.\n\n[Notebook](https://www.kaggle.com/code/latypovramil/data-augmentation-using-cgan-pytorch)\n\nI think it's worth trying to train more the generative model and work with CNN architectures, or using another approaches with pre-trained model to embeddings and e.g. GBDT models on it. \n\nGood luck everyone!\n\nP.s. I will be glad to receive any feedback",
      "votes": 1
    }
  ],
  "comments": [
    {
      "id": 2995898,
      "author_name": "",
      "author_url": "",
      "post_date": "2024-09-22T18:13:42.633000",
      "content": "<p>With part of score give Data augmentation?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 2995925,
          "author_name": "Latypov Ramil",
          "author_url": "",
          "post_date": "2024-09-22T18:56:11.147000",
          "content": "<p>If you mean how much augmentation has improved the performance of the model, then I can't say an honest assessment. This is an interesting question, as it seems to me it is worth trying the same CNN model on a default train part for fixed N epoches, try use standard data augmentation by torch.transforms and on extended train part (but i am not sure for choose count of epoches. For example if we increase our train part for two times, i think we need to reduce the number of epochs by half - N // 2). </p>\n<p>In any case, the dataset is very simple, and even a simple CNN model from a notebook gives a good result. Rather, I was just interested in such a technique. It is worth checking it for more complex data.</p>",
          "votes": 0,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2995898": "With part of score give Data augmentation?",
    "2989855": "I tried using a generative model such as conditional GAN to augment the dataset. I used the Wasserstein GAN architecture as basis, which I implemented from scratch. \nI'm not sure that for this task it really gives a significant increase in metrics, but I think someone might find this technique interesting for more complex tasks.\n\n[Notebook](https://www.kaggle.com/code/latypovramil/data-augmentation-using-cgan-pytorch)\n\nI think it's worth trying to train more the generative model and work with CNN architectures, or using another approaches with pre-trained model to embeddings and e.g. GBDT models on it. \n\nGood luck everyone!\n\nP.s. I will be glad to receive any feedback"
  }
}